Systems and methods for simulating spine and skeletal system pathologies

ABSTRACT

Disclosed are systems and methods for rapid generation of simulations of a patient&#39;s spinal morphology that enable pre-operative viewing of a patient&#39;s condition and to assist surgeons in determining the best corrective procedure and with any of the selection, augmentation or manufacture of spinal devices based on the patient specific simulated condition. The simulation is generated by morphing a generic spine model with a three-dimensional curve representation of the patient&#39;s particular spinal morphology derived from existing images of the patient&#39;s condition. Other anatomical structures in the patient&#39;s skeletal system are likewise simulated by morphing a generic normal skeletal model, as applicable, particularly those skeletal entities that are connected directly or indirectly to the spinal column.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to and benefit of U.S. patent application Ser. No. 16/033,925, entitled SYSTEMS AND METHODS FOR MODELING SPINES AND TREATING SPINES BASED ON SPINE MODELS, filed Jul. 12, 2018; U.S. Provisional Application No. 62/666,305, entitled SYSTEMS AND METHODS FOR MODELING SPINES, filed May 3, 2018; and U.S. Provisional Application No. 62/565,586, entitled SYSTEMS AND METHODS FOR MODELING SPINES AND CREATING CUSTOMIZED SPINE DEVICES, filed on Sep. 29, 2017, all of which are incorporated by reference herein in their entirety and for all purposes.

BACKGROUND 1. Technical Field

This disclosure pertains generally to modeling aspects of the human skeleton, and, more particularly, to developing simulations of the human skeleton including the Sioux effects of a subject's spinal pathology to visualize and to help predict the surgical results preoperatively.

2. Discussion of Related Art

Today a wide-variety of surgical devices are being developed and used to perform various spinal surgical procedures. In many spine surgeries, surgical devices are used to correct a patient's spine so that the skull is oriented over or aligned with the pelvis. Specifically, the surgical devices and software are used to ensure that the vertebral bodies are in normal sagittal alignment so that there is a gradual transition of curvatures from cervical lordosis, to thoracic kyphosis, to lumber lordosis. Although such spinal surgery may result in normal sagittal alignment of the spine, the spine may not be properly aligned in either of the coronal or axial planes. One reason for only partial correction is that surgeons typically focus on spinal models that are described predominantly by angular data as measured among vertebral bodies in the sagittal plane, instead of actual spatial coordinates. Another reason for only partial correction is the failure to consider alignment of the spinal column in the coronal or axial planes as well as the sagittal plane. A further reason for only partial correction is the failure to use the alignment of the head with the center of the pelvis as an axis of reference in which to measure the deviation of the modeled spinal column in both the sagittal and coronal planes. A further reason for only partial correction is the inability to predict post-surgical results with even marginal accuracy. Computer modeling of a patient spine is currently available but requires prohibitively high computational resources. In addition, such models typically only model the spinal column and not the related skeletal structures and the extremities due to the prohibitively high computational resources required.

Accordingly, a need exists for a systems and methods for constructing a three dimensional simulation of the curvature of a patient spine which accurately reflect the morphology of the patient's spine and its effect on other parts of the patient's skeletal system.

A further need exists for a systems and methods for constructing a three dimensional simulation of the curvature of a patient's spine which accurately reflects the morphology of the patient's spine and its effect on the patient's skeletal system and which can be generated quickly.

A still further need exists for a systems and methods for constructing a three dimensional simulation of the curvature of a patient spine which accurately reflects the morphology of the patient's spine and its effect on the patient's skeletal system and which can be further modified based on data input from a surgeon to enable better prediction of post-surgical results.

An even further need exists for a systems and methods for constructing a three dimensional simulation of the curvature of a patient spine which accurately reflects the morphology of the patient's spine and its effect on the patient's skeletal system using other medical data relating to the spine to customize spinal devices and the methods of performing spinal surgery so as to result in a desired outcome, such as a balanced spine.

According to another aspect of the disclosure, prior attempts at modeling the morphology of an individual patient spine's to assist surgeons with both pre-operative and post-operative analysis has required very costly procedures which are then used to create either virtual or physical three-dimensional models of the patient's exact condition. Such modeling procedures are very resource intensive in terms of both time and cost, typically taking hours of computing to render such models into a form usable by a surgeon and, accordingly, are not very practical for large-scale use by the medical community. In addition, such models typically are limited to the spinal column and not the related skeletal structures and the extremities due to the prohibitively high computational resources required to prepare such models.

Accordingly, a further need exists for a system and method which allows for rapid generation of simulations the morphology of a patient's spine, and its effect on the patient's skeletal system, using x-ray data or CT scan data or MRI data which takes significantly less time and is significantly less computationally intensive.

SUMMARY

Disclosure are systems and methods for rapid generation of simulations of a patient's spinal morphology to enable pre-operative viewing of the patient's condition and to assist surgeons in determining the best corrective procedure and with any of the selection, augmentation or manufacture of spinal devices based on the patient specific simulated condition. The simulation is generated by morphing a generic normal spine model with a three-dimensional representation of the patient's spinal morphology derived from existing images of the patient's condition. In addition, the other anatomical structures in the patient's skeletal system are likewise simulated by morphing a generic normal skeletal model, as applicable, particularly those skeletal entities that are connected directly or indirectly to the spinal column. Effectively, the disclosed methods emulate giving normal spine and skeletal system models the patient's diseased condition. The resulting simulation of the patient's pathological and morphological condition enables the surgeon to observe the patient's condition preoperatively and to make better choices regarding corrective procedures, customized hardware and to better predict postoperative results. This process can be done rapidly using data derived from simple x-ray images of the patient.

The disclosed system and techniques enable the morphing or alteration of a normal generic spine model into a three-dimensional simulation of the actual patient's deformity is derived from two-dimensional image data of the patient. Disclosed are a number of different techniques for accomplishing these results. The process starts with a model of the spine, including each of the vertebral bodies of interest. In one embodiment, each vertebral body model is in the form of a point cloud representation of the vertebral body, the point cloud comprising as a series of points in three-dimensional space. Point clouds can be generated from any of a number of sources. The described processes may be used with vertebral body models comprising point clouds that are either commercially available models, or generated from a patient's own CT scan data, X-ray data, or other image data. For example, a three-dimensional scanner can generate the point cloud model from a patient's own X-ray images. A patient's own CT scan data can be used to derive point cloud model(s), even though the CT scan data includes more data than necessary for a point cloud model. The relevant amount of data to generate a point cloud model may be identified and extracted from the CT scan data either manually or with an automated program. Effectively the reason for generating a simulation even though a full set of CT scan data may be available is that, with the simulation, not only does the practitioner have a rapidly generated visual simulation of the current state of the patient's spinal morphology, selective morphing of the simulation is possible to create one or more post-operative configurations based on user defined percentages of correction, i.e. 10%, 15%, etc. using the system and techniques as disclosed herein.

According to still another aspect of the disclosure, a system for creating a visual simulation of a subject's condition, the system comprises: a first plurality of virtual models stored in computer accessible memory, each of the first plurality of virtual models corresponding an anatomical structure and having an associated center point; a second plurality of virtual models stored in computer accessible memory, each of the second plurality of virtual models having an associated spatial arrangement with one of the first plurality of virtual models; an image processor unit, responsive to one or more images, and operational to identify at least one center point on each of a plurality anatomical structures visible in an image; a graphics generator unit, responsive to the image processor, and operational to generate from identified center points of the anatomical structures, a curve representation of an arrangement of the anatomical structures in the image, the curve representation comprising a set of three dimensional spatial coordinates including at least each of the identified center points of the anatomical structures; and a primary morphing processor unit, operatively coupled to the computer accessible memory, operational to access in the computer accessible memory one of the first plurality of virtual models having a corresponding anatomical structure visible in the image, the morphing processor unit further operational to morph parameters of the one of the first plurality of virtual models into a spatial arrangement that substantially mimics the corresponding anatomical structure visible in the image; and a secondary morphing processor unit, operatively coupled to the computer accessible memory, and operational to access in the computer accessible memory one of the second plurality of virtual models, the secondary morphing processor unit further operational to morph parameters the one of the second plurality of virtual models into a spatial arrangement with one of the first plurality of virtual models, wherein the one second virtual model is not any of translated, rotated or angulated to a same extent as the one first virtual model to achieve the spatial arrangement.

According to yet another aspect of the disclosure, a method for creating a visual simulation of a subject's morphological condition comprises: A) storing, in a computer accessible memory, a plurality of virtual models each of which represents a corresponding anatomical structure, a first plurality of the virtual models having a predetermined spatial relationship representing a normal arrangement of corresponding anatomical structures, a second plurality of the virtual models having an associated spatial arrangement with one of the first plurality of virtual models; B) deriving, from at least one image of a subject, a subject morphology model comprising at least three dimensional spatial data identifying a spatial relationship of anatomical structures identified in the at least one image of the subject; and C) morphing, with the subject morphology model, parameters of the first plurality of the virtual models into a spatial arrangement which substantially mimics the spatial relationship of the anatomical structures identified in the at least one image of the subject, and D) D) morphing one of the second plurality of virtual models by not any of translating, rotating or angulating the second virtual model to a same extent as the one first virtual model to which the second virtual model shares spatial arrangement.

According to one embodiment, in a first method for rapid generation of a simulated patient morphology, the center of vertebral body S1 endplate is used as a reference pivot point by which each point in every point cloud model of a VB is pivoted, translated, and rotated, as necessary, relative to the reference pivot point. In this method, after at least two different images in different planes normal to each other are obtained, a Central Vertebral Body Line is generated describing the curve of the patient spine in three-dimensional spatial coordinates. A model, e.g. a point map, of each vertebral body in a set of normal vertebral body models is retrieved and the end plates of vertebral bodies on one of the images are determined through either manual input or automated detection. The translation and tilt angles relative to the center point of each vertebral body are then calculated as well as the rotation vectors relative to the pivot point S1. Once the pivot point and the x,y,z coordinates of the points in a point cloud model are known, the point cloud model representing a vertebral body can be morphed in any order, e.g. translated, rotated, and then angled, or, angled, rotated, and then translated, etc., with the same result. Finally, the simulation may be rendered on a display.

According to another embodiment, a second method for rapid generation of a simulated patient morphology includes generation of a Central Vertebral Body Line similar to the previously described method. However, in this second method, the left/right/front/back edge end points of each VB are identified and a three-dimensional box of each of the VBs created. Because the box is defined by spatial coordinates, the dead center of each box may be determined, with the center point of a VB box serving as a reference pivot point. Every other point in the point cloud model for that individual VB is then pivoted, angled and translated relative to this reference pivot point. Because the data structure describing the three-dimensional box of each of VB inherently contains the respective spatial coordinates, rotation of the VB relative to a reference point, such a point S1, in the previously described method, is not required.

In the two methods outlined above, the data determining how the point cloud model of a VB will be rotated is determined differently. In the first method, the CVBL provides the translation data to move the VB point cloud model to the correct spatial locations, and further provides the angulation data to tilt the VB point cloud model so that its approximate center lie within the CVBL. In the first method, the reference point S1 is used to serve as the basis on which the rotation data, generated by measurement of the endplates and other characteristics of the VBs, is utilized. Such rotation data is used to rotate the translated and tilted the VB point cloud model into an orientation relative to the other VBs that simulates the patient's morphology. In the second method, the angulation data and the rotation data are determined by the center point of the vertebral body point cloud box which is initially assumed to lie on the CVBL, but, which after taking appropriate end plate and other measurements, may be determined to lie elsewhere. Once the center point of the VB box is known, the appropriate translation scaling factors are used to tilt and appropriately rotate the points comprising the VB point cloud model into appropriate orientation, without the need for an external reference point, such as S1, since the spatial coordinates describing the three-dimensional box of each of VB inherently define the rotation of the VB relative to its respective center point.

In another embodiment, a third method, all of the vectors associated with the point cloud of a VB are not calculated and morphed (translated, angled and rotated). Instead the central pivot point for each VB, which happens to run through the CVBL, generated as previously described, is identified. Next, a number of pixels, e.g. 5, both above and below a pivot point on the CVBL are examined and the slope in both the sagittal and coronal planes calculated. The calculated angles are then applied to the point cloud model of a VB and used to generate the image. This process is then repeated for each VB of interest within the original images from which the simulation was derived.

In one embodiment, the computer system for performing the above processes includes a communications interface, one or more processors coupled to the communications interface, and a memory coupled to the one or more processor and having stored thereon instructions which, when executed by the one or more processors, causes the one or more processors to acquire via the communications interface the first X-ray image of the spine in the first plane and the second X-ray image of the spine in the second plane from the server, store the first and second X-ray images in the memory, acquire a model of spine from the server, store the model of the spine in memory, determine a curve through vertebral bodies of the spine, determine coordinates of the spine by detecting the curve on the first X-ray image and the second X-ray image, construct a three-dimensional simulation of each vertebral body in the spine and morph the three-dimensional simulation into a realistic visualization of the patient morphology by translating, angulating and rotating the models of the vertebral bodies, perform predictive analysis on the three-dimensional simulation, and transmit via the communications interface for review and user input.

According to one aspect of the disclosure, a method for creating a visual simulation of a subject's condition, the method comprises: A) identifying at least one center point on each of a plurality anatomical structures in an image; B) deriving, from a plurality of identified center points, a linear representation of an arrangement of the anatomical structures, the linear representation comprising a set of three dimensional spatial coordinates including at least each of the identified center points of the anatomical structures; and C) arranging a corresponding virtual model of each of the plurality of anatomical structures such that a center point of each corresponding virtual model corresponds to the identified center point of the corresponding anatomical structure contained within the set of three dimensional spatial coordinates of the linear representation.

According to another aspect of the disclosure, a method for creating a visual simulation of a subject's condition, the method comprises: A) deriving, from a plurality of images of a subject, a linear representation of an arrangement of identified anatomical structures visible in the images, the linear representation comprising a set of three dimensional spatial coordinates corresponding to a center point of each of the identified anatomical structures; and B) arranging a virtual model of each of the plurality of identified anatomical structures according to the linear representation such that a center point of each virtual model corresponding to an identified anatomical structure is included in the set of three dimensional spatial coordinates, wherein arranging the virtual models further comprises one of pivoting the identified center point of each virtual model by an amount of identified angular displacement of the corresponding anatomical structure relative to the reference point in one of the images and rotating each virtual model by an amount of identified angular rotation of the corresponding anatomical structure relative to the reference point in one of the images.

According to yet another aspect of the disclosure, a method for creating a visual simulation of a subject's condition, the method comprises: A) identifying a plurality of points defining the edges of at least one anatomical structure visible in an image of the subject; B) deriving, from the plurality of defined edges, a dead center point of a shape defined by the plurality of defined edges, the dead center point comprising a set of three dimensional spatial coordinates; C) manipulating three dimensional spatial coordinates of each of a plurality of points in a virtual model of the corresponding anatomical structure relative to the derived dead center point, wherein manipulating of the spatial coordinates of each of the plurality of points in the virtual model comprises any of translating, pivoting, rotating or proportionally scaling, spatial coordinates of each of a plurality of points in the virtual model relative to the derived dead center point; and D) repeating any of A), B) and/or C) for other anatomical structures visible in image of the subject.

Disclosed are systems and methods for constructing a three dimensional simulation of the curvature of a boney structure, such as the spine, the simulation comprising a set of spatial coordinates derived from images of the bony structure captured in at least two different planes, and using the simulation, and medical data relating to the bony structure, e.g., scoliosis, to assist surgeons with determining the nature of a corrective procedure, to predict postoperative changes in the curvature of the bony structure, and the nature of the hardware necessary for use during the procedure and customizations of the hardware for the particular morphology of the patient. The images of the bony structure may be captured by any type of medical imaging apparatus such as an X-ray apparatus, a magnetic resonance imaging (MRI) apparatus, or a computed tomography (CT) scanner.

BRIEF DESCRIPTION OF THE DRAWINGS

Various aspects of the present disclosure are described hereinbelow with reference to the drawings, wherein:

FIG. 1 is a block diagram illustrating a system architecture for performing spinal imaging, analysis, and surgery in accordance with some embodiments;

FIG. 2 is a block diagram illustrating a computer and surgical device manufacturing machine employed in the system architecture of FIG. 1 ;

FIG. 3 is a flow diagram illustrating a process for performing a spinal surgery in accordance with some embodiments;

FIG. 4 is a flow diagram illustrating an example process for generating a model of a spine in the process of FIG. 3 ;

FIG. 5 is an X-ray image of a sagittal view of a preoperative spine illustrating the drawing of a virtual curve that passes through the vertebral bodies of the preoperative spine in accordance with some embodiments;

FIG. 6 is an X-ray image of a sagittal view of a postoperative spine illustrating the drawing of a virtual curve that passes through the vertebral bodies of the postoperative spine corresponding to the preoperative spine of FIG. 5 in accordance with some embodiments;

FIG. 7 is an example graph illustrating the curves extracted from the user interfaces of FIGS. 5 and 6 ;

FIGS. 8A and 8B are diagrams illustrating the sagittal and coronal views, respectively, of preoperative and postoperative three-dimensional models of the curvature of a spine;

FIG. 9 is an example graph illustrating preoperative and postoperative three-dimensional models of the curvature of the spine for follow-up time periods in accordance with embodiments;

FIG. 10 is an example graph illustrating a four-dimensional model of the movement of a head from a preoperative state to a postoperative state;

FIG. 11 is a flow diagram illustrating a process for performing spinal surgery using a four-dimensional model in accordance with some embodiments; and

FIGS. 12A and 12B are flow diagrams illustrating a process for analyzing data from different patients and using that analysis to perform spinal surgery in accordance with some embodiments;

FIG. 13 is a conceptual illustration of a line representing the curvature of a model spine relative to the Z axis from one of the coronal or sagittal planes;

FIG. 14 is an X-ray image of a coronal view of a preoperative spine annotated with lines representing the Z axis and the patient HOP axis extending from the center of the pelvis to a vertebral body at the base of the skull;

FIG. 15 is a block diagram illustrating a system architecture for performing spinal imaging, analysis, and simulation in accordance with the disclosure;

FIG. 16 is a block diagram illustrating a computer employed in the system architecture of FIG. 15 in accordance with the disclosure;

FIG. 17 is a flow diagram illustrating a process for generating a simulation of a patient's spinal morphology in accordance with the disclosure;

FIG. 18 is a flow diagram illustrating a sub-process of the process of FIG. 17 for generating a simulation of a patient's spinal morphology in accordance with the disclosure;

FIGS. 19A and 19B are X-ray images in the sagittal and coronal planes of the Lumbar spine, respectively, annotated with a visually detectable scaling reference and the central points of vertebral bodies comprising the CVBL overlaid over the x-ray image in FIG. 19B;

FIG. 19C is an X-ray image of a coronal view of a preoperative spine annotated with lines representing the Z axis and the patient HOP in accordance with the disclosure;

FIGS. 20A-B are three dimensional point maps representing a simulated vertebral body in accordance with the disclosure;

FIG. 20C is a three dimensional plot of a simulated spine comprising multiple vertebral body point maps in accordance with the disclosure;

FIGS. 21A and 21B illustrate a spine model in the coronal and sagittal planes, respectively, with vertebral bodies that appear as if in a normal spine in accordance with the disclosure;

FIG. 21C illustrates a spatial translation of the vertebral bodies of the model spine of FIG. 7A in accordance with the disclosure;

FIGS. 22A and 22B are X-ray images in the coronal and sagittal planes of the Lumbar spine, respectively, annotated with lines representing the discs and endplates of vertebral bodies in accordance with the disclosure;

FIG. 23A is a patient coronal X-ray;

FIG. 23B is an image of a morphed simulated three-dimensional spine illustrated in the patient X-ray of FIG. 23A using the system and techniques described herein in accordance with the disclosure;

FIG. 23C is an image of a partially morphed simulated three-dimensional spine illustrated in the patient X-ray of FIG. 23A in accordance with the disclosure;

FIG. 23D is an image of a morphed simulated three-dimensional spine illustrated in the patient X-ray of FIG. 23A annotated with a line representing the CVBL in accordance with the disclosure;

FIG. 24A illustrates a three-dimensional model of the patient spine of FIG. 23A generated from CT scan data;

FIG. 24B illustrates a three-dimensional a simulation of the patient spine of FIG. 23A generated in accordance with the disclosure;

FIG. 24C illustrates the same patient coronal X-ray as FIG. 23A;

FIG. 24D illustrates a scaled three-dimensional simulation of FIG. 24B,

FIG. 25A illustrates conceptually a 2×24 array pedicle model of a patient spine morphed in three dimensions and rotated to show partial sagittal and coronal views in accordance with the disclosure;

FIG. 25B is the actual patient sagittal X-ray from which the morphed simulated three-dimensional spine illustrated in FIG. 10A was derived in accordance with the disclosure;

FIG. 26 is a screen shot of a user interface by which a surgeon/user may see enter various data in accordance with the disclosure;

FIGS. 27A and 27B are point cloud images in the sagittal and coronal planes respectively, annotated with shading illustrating segmentation of the various skeletal components, in accordance with the disclosure;

FIG. 28 is a point cloud image of a human skull in the coronal plane annotated with a pivot point, in accordance with the disclosure;

FIG. 29 is a point cloud image of vertebral body T7 with ribs in the axial plane annotated with a pivot point, in accordance with the disclosure;

FIG. 30 is a point cloud image of a human upper body in the coronal plane annotated with a pivot point, in accordance with the disclosure;

FIG. 31 is a point cloud image of vertebral body C1 in the axial plane annotated with a pivot point, in accordance with the disclosure;

FIG. 32 is a point cloud image of vertebral body L1 in the coronal plane annotated with a pivot point, in accordance with the disclosure;

FIG. 33A is a block diagram illustrating a computer employed in the system architecture of FIG. 15 in accordance with the disclosure;

FIG. 33B is a conceptual flow diagram illustrating a process for generating a simulation of a patient's skeleton including the spinal morphology in accordance with the disclosure;

FIG. 33C is a conceptual flow diagram illustrating a process for generating a simulation of a patient's spinal morphology including non-spinal elements in accordance with the disclosure;

FIG. 33D is a conceptual flow diagram illustrating a process for generating a simulation of a patient's overall posture including the spinal morphology in accordance with the disclosure;

FIG. 33E is a conceptual of a data structure of information about skeletal entities for generating a simulation of a patient's spinal morphology in accordance with the disclosure;

FIGS. 34A and 34B are point cloud images in the sagittal and coronal planes respectively, of a human being comprising a series of ‘loops’ that run circumferentially around portions of the human body, in accordance with the disclosure;

FIG. 35A is a composite image of the sagittal view of the morphed virtual skeleton superimposed over the sagittal x-ray from which it was partially derived, in accordance with the disclosure;

FIG. 35B is the sagittal x-ray from which the morphed virtual skeleton of FIG. 35A was partially derived, in accordance with the disclosure;

FIG. 36A is a composite image of the coronal view of the morphed virtual skeleton superimposed over the coronal x-ray from which it was partially derived, in accordance with the disclosure;

FIG. 36B is the sagittal x-ray from which the morphed virtual skeleton of FIG. 36A was partially derived, in accordance with the disclosure;

FIG. 37 is a perspective view of a virtual human model simulation, including skin and hair, derived from and exhibiting effects of the spinal morphology shown in the subject x-ray images of FIGS. 35B and 36B, in accordance with the disclosure;

FIG. 38 is a coronal view of a virtual human skeleton simulation, including the rib cage, derived from, and exhibiting effects of the spinal morphology shown in, the subject x-ray images of FIGS. 35B and 36B, in accordance with the disclosure; and

FIG. 39 is a coronal view of a virtual human skeleton simulation, without the rib cage, derived from, and exhibiting effects of the spinal morphology shown in, the subject x-ray images of FIGS. 35B and 36B, in accordance with the disclosure.

DETAILED DESCRIPTION

Embodiments of the present spine modeling systems and methods are now described in detail with reference to the drawings in which like reference numerals designate identical or corresponding elements in each of the several views. As used herein, the term “clinician” refers to a doctor, a nurse, or any other care provider and may include support personnel. Throughout this description, the phrase “in embodiments” and variations on this phrase generally is understood to mean that the particular feature, structure, system, or method being described includes at least one iteration of the disclosed technology. Such phrase should not be read or interpreted to mean that the particular feature, structure, system, or method described is either the best or the only way in which the embodiment can be implemented. Rather, such a phrase should be read to mean an example of a way in which the described technology could be implemented, but need not be the only way to do so.

As used herein, the term “sagittal plane” refers to a plane that divides the body into front and back halves and is parallel to an x-axis, the term “coronal plane” refers to a plane that divides the body into left and right (or posterior and anterior) portions and is parallel to ay-axis, the term “height” refers to a distance along a z-axis.

The goal of some spinal surgeries and the spinal devices that are used in those surgeries is to correct a spine so that it is in “sagittal balance.” In short, sagittal balance means that the skull is positioned over or aligned with the pelvis. Many surgeons use software to guide them through the surgical procedure to ensure that “sagittal balance” is achieved. In some cases, while the surgeon may successfully place the spine in “sagittal balance,” the spine may not be in “coronal balance” or, after the surgery, the spine may shift out of “coronal balance.”

For purposes of this disclosure skeletal entities which are considered part of the spine are those entities in any of the cervical, thoracic, lumbar, sacral regions of the spine and the coccyx.

According to embodiments of the present disclosure, the position of the spine and skull are quantified in three-dimensional space by performing image processing and analysis on at least sagittal and coronal X-rays of the spine. The resulting three-dimensional model of the curvature of the spine may be compared to three-dimensional models of the curvature of other spines and analyzed in view of medical data related to the spine to determine an appropriate treatment plan to ensure both sagittal and coronal balance. The treatment plan may include constructing or modifying a surgical device and deploying it in, on, or near the spine based on the analysis of the three-dimensional model of the target spine. The resulting three-dimensional model of the curvature of the spine may also be used to morph a pre-existing model of a normal spine to simulate the morphology of the patient for pre-operative visualization and to further simulate the predictive outcomes visually of multiple degrees of corrective surgery.

FIG. 1 is a block diagram illustrating an exemplary system architecture for performing spinal imaging, analysis, and surgery in accordance with some embodiments. In some embodiments, an X-ray apparatus 102 provides X-ray images to a cloud server 106. The cloud server 106 may be secured in such a way that it complies with the privacy protection provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA). In other embodiments, the X-ray apparatus 102 provides X-ray images to a computer or a server that may better protect patient information than cloud server 106. The X-ray apparatus 102 may be any X-ray apparatus that is configured to capture X-ray images of the human skeleton. The system architecture 100 may also include a medical database 104 that transmits and stores medical data in the cloud computer or server 106. The medical database 104 may reside in a doctor's office or in a hospital and may contain a variety of medical data that is useful in determining the method of performing spinal surgery and the parameters of the spinal device that is used to correct the misalignment of the spine. This medical data may include all medical conditions that are or may be relevant to the spine, including, for example, osteoporosis, adolescent idiopathic scoliosis, adult scoliosis, neuromuscular disease, and degenerative disc disease. In embodiments, the medical data may include one or more of the following: patient demographics, progress notes, vital signs, medical histories, human clinical data, diagnoses, medications, Cobb Angle measurements, adverse events, operative complications, implant complications, operative time, blood loss, immunization dates, allergies, X-ray images, such as coronal and sagittal X-ray images, and lab and test results.

Cloud computer server 106 may store the X-ray images and medical data in a way to allow for easy access by computer 110 that has access to the cloud computer or server 106. Computer 110 may display the X-ray images and the medical data to assist a clinician in planning for and performing a spinal surgery. Based on the X-ray images and the medical data, computer 110 may analyze X-ray images in the medical data to determine an appropriate method of performing a spinal surgery and/or the parameters of the medical device to ensure that proper alignment is achieved well after the spinal surgery is performed.

The computer 110 may then analyze the X-ray images and the medical data to determine instructions for constructing a surgical device or spinal device using milling machine or three-dimensional printer 115. In embodiments, printer 115 may be supplemented by or replaced by another manufacturing apparatus, such as a machine designed to bend spinal rods beyond their current configuration, such machine capable of responding to numeric data and instructions from communications interface 220. Alternatively or additionally, computer 110 may determine commands to send via a wireless communications link to a device that is implanted in, on, or near a spine. The commands may include a command to activate a motor to change a dimension of the implanted surgical device to change the position of at least a portion of the spine.

FIG. 2 is a block diagram illustrating computer 110 coupled to milling machine/three-dimensional printer 115 employed in the system architecture 100 of FIG. 1 . Computer 110 includes central processing unit 200 and memory 210. In some embodiments, a portion of the X-ray images stored in cloud server 106 are retrieved from the cloud server 106 by computer 110 and stored in memory 210. The X-ray images retrieved from cloud server 106 may include coronal X-ray images 212 and sagittal X-ray images 214 of one or more spines. Computer 110, under the control of the central processing unit 200, may also retrieve electronic medical records 218 from cloud server 106. Memory 210 may also store statistical data 216 that may be useful in analyzing coronal and sagittal X-ray images 212, 214, and electronic medical records 218.

Components of the system of the present disclosure can be embodied as circuitry, programmable circuitry configured to execute applications such as software, communication apparatus applications, or as a combined system of both circuitry and software configured to be executed on programmable circuitry. Embodiments may include a machine-readable medium storing a set of instructions which cause at least one processor to perform the described methods. Machine-readable medium is generally defined as any storage medium which can be accessed by a machine to retrieve content or data. Examples of machine readable media include but are not limited to magneto-optical discs, read only memory (ROM), random access memory (RAM), erasable programmable read only memories (EPROMs), electronically erasable programmable read only memories (EEPROMs), solid state communication apparatuses (SSDs) or any other machine-readable device which is suitable for storing instructions to be executed by a machine such as a computer.

In operation, the CPU 200 executes a line or marker drawing module 201 that retrieves the coronal X-ray images 212 and the sagittal X-ray images 214, and draws or superimposes a virtual line through the vertebral bodies of the spines shown in the coronal X-ray images 212 and the sagittal X-ray images 214. The line or marker drawing module 201 may also place markers on the spine to show different segments of the spine or to show inflection points on the spine. As is described in more detail below, the CPU 200 next executes a line detector module 202 that detects and determines the coordinates of the line drawn on each of the coronal X-ray images 212 and the sagittal X-ray images 214.

Next, the CPU 200 executes image processing 203 to scale or otherwise modify the coronal X-ray images 212 and the sagittal X-ray images 214 so that the lines or curves corresponding to the spine, and the coronal and sagittal X-ray images 212, 214 are scaled correctly with respect to each other so that they may be combined with each other into a three-dimensional or four-dimensional model of one or more spines.

The central processing unit 200 also executes a model generator 204. The model generator 204 takes the line or curve information and generates a three-dimensional model of the deformed spine. The central processing unit 210 then executes an analysis module 205 that analyzes one or more of statistical data 216, electronic medical records 218 retrieved from memory 210, and the three-dimensional or four-dimensional models generated by the model generator 204 to determine or predict postoperative changes in the curvature of the spine.

The central processing unit 200 also includes a surgical device parameter generator 206. The surgical device parameter generator 206 uses the determined or predicted postoperative changes in the spine to determine parameters of a surgical device, such as a spinal implant, that can counter the predicted postoperative changes in the spine to ensure proper alignment of the spine postoperatively. The central processing unit 200 may optionally include a command generator 207 for generating commands or instructions for controlling the milling machine or three-dimensional printer 115 to form or construct surgical device according to the parameters generated by the surgical device parameter generator 206. The computer 110 also includes a communications interface 220 that is in communication with the milling machine or three-dimensional printer 115 to provide commands or instructions to the milling machine or three-dimensional printer 115. In embodiments, three-dimensional printer may be supplemented by or replaced by another manufacturing apparatus, such as a machine designed to bend spinal rods beyond their current configuration, such machine capable of responding to numeric data and instructions from communications interface 220. Alternatively, such numeric data and instructions may be provided through a user interface associated with communications interface 220 in which the data may be presented to a user for manual manipulation of a spinal device.

FIG. 3 is a flow diagram illustrating a process for performing spinal surgery in accordance with some embodiments. After starting, the coronal and sagittal X-ray images are obtained from a cloud computer or other similar database at block 302. The coronal and sagittal X-ray images may be X-ray images of a spine and may be obtained prior to the surgical procedure. The X-ray images may also include images that were obtained both before and after a previous surgical procedure, e.g., a procedure performed on the spine.

At block 304, a three dimensional model is generated based on coronal and sagittal X-ray images. In embodiments, the resolution of the of the X-ray images is greater than the variation in size of the implants. For example, the resolution of the X-ray images may be 0.4 mm, while the implants may come in sizes with 1 mm variation. As described in more detail below, the coronal and sagittal X-ray images are analyzed to determine coordinates of the spine in three dimensional space. In other words, X-ray images are processed to generate three dimensions, e.g., length, width, and height in millimeters.

At block 306, the three-dimensional model is analyzed to determine parameters of a surgical device and/or steps for performing a spinal procedure. The analysis may include comparing the three dimensional model to three-dimensional models of similarly situated patients. For example, if the X-ray images of similarly situated patients show a change in position or curvature of portions of the spine in a direction away from normal alignment after a surgical procedure to align the spine, it may be determined that the parameters or dimensions of the surgical device need to be adjusted to account for this change in position or movement.

At block 308, the surgical device is constructed, and for later deployment, deployed at or near the spine based on the parameters of the surgical device determined based on an analysis of at least the three dimensional model of the spine of the target patient. For example, the surgical device may be formed using a milling machine by inserting an object in the milling machine and providing instructions to the milling machine to remove material from the object to form a surgical device according to the parameters or dimensions determined during the analysis of the three-dimensional model. Alternatively, numeric data and instructions may be provided to another manufacturing apparatus, such as a machine designed to bend spinal rods beyond their current configuration, such machine capable of responding to numeric data and instructions from communications interface 220. Such numeric data and instructions may also be provided through a user interface associated with communications interface 220 in which the data may be presented to a user for manual manipulation of a spinal device.

FIG. 4 is a flow diagram illustrating an exemplary process for generating a model of a spine in the process of FIG. 3 . At block 405, image analysis software is utilized to identify and mark the center of each vertebral body recognized within the image and to construct a line or curve therefrom is drawn on or superimposed on over the vertebral bodies of the spine shown in each of the coronal and sagittal X-ray images. The curve or line, also referred to as a central vertebral body line, may be one color or a combination of colors. The color of the curve or line may be selected to optimize the detection of the curve or line superimposed on the coronal and sagittal X-ray images. For example, different colored segments of the line or curve may represent different of any of the cervical, thoracic, lumbar or sacral sections of the spinal column.

At block 410, the coronal X-ray images are opened and the colored lines or curves are identified or detected. This may be done by quantifying the color of the line or curve and search for differences in red, green, blue, intensity, hue, saturation, contrast, and/or brightness to identify or detect the central vertebral body line on the coronal X-ray image. For example, for a standard 36-inch X-ray, such a detection process may result in between 2500 and 3000 data points for the line or curve. The final number of data points is determined by the size of the image. In this way, the curvature of the spine is constructed and not the vertebral bodies themselves. Consequently, the three-dimensional models of the curvature of spines may be stored in memory using a small amount of memory resources. At step 412, the coronal X-ray images are calibrated and the central vertebral body line is found.

At block 420, the coronal and sagittal markers for each vertebral body are added to the images. At block 422, the images are calibrated and the central vertebral body line is found. Each x-ray has either an associated metadata file or scale bar on the image that enable image analysis software to determine a ratio of distance per image unit, e.g. typically expressed in centimeters per pixel. The image analysis software then identifies along each scan line of the x-ray, the coordinates of each point along the annotated line extending through the centers of vertebral bodies. Then, at block 424, the coronal and sagittal coordinates or pixels of the central vertebral body lines with the vertebral bodies and discs identified are obtained calculated utilizing the distance per pixel ratio, resulting in X-Z and Y-Z coordinate sets representing the lines in each of the sagittal and coronal planes, respectively.

At block 430, the sagittal X-ray images are opened and the colored lines or curves superimposed or drawn on the sagittal X-ray images are detected in the same manner as in block 410. At step 432, the coronal X-ray images are calibrated and the central vertebral body line is found. Then, in step 434, sagittal X-Z coordinates or pixels of the central vertebral body line are obtained. At block 440, the coronal Y-Z coordinates and the sagittal X-Z coordinates are compensated for differences in magnification are and scaled with a common unit. Then, the sagittal and coronal X-rays are combined along their respective Z axis values resulting in a series of spatial coordinates in Euclidean space which identify the three-dimensional curve of the subject's spine. At block 445, the three-dimensional model of the spine is stored in a data structure such as a table or array in which each of the columns represents a coordinate data point in one of the X, Y, Z axis and each row represents one of the points of the line representing the center of the vertebral bodies within the spine. More than one a three-dimensional data table may be generated to represent different three-dimensional models of the same spine relative to different reference axes.

FIG. 5 is a user interface illustrating the drawing of a virtual curve through the vertebral bodies of a preoperative spine in a sagittal X-ray image in accordance with some embodiments. The central vertebral body curve or line 504 shows that the preoperative spine is not in proper alignment. Markers 502 indicate different portions of the spine.

FIG. 6 is a user interface illustrating the drawing of a virtual curve through the vertebral bodies of a postoperative spine corresponding to the preoperative spine of FIG. 5 in accordance with some embodiments. The central vertebral body curve or line 604 shows that the postoperative spine in a sagittal X-ray image is in proper alignment because of the surgical device 602 implanted in the spine. The surgical device 602 is one of many examples of surgical devices that may be constructed and deployed in a human spine based on an analysis of the three-dimensional and four-dimensional models and medical data according to embodiments of the present disclosure.

FIG. 7 is an exemplary graph illustrating the curves extracted from the sagittal X-ray images of FIGS. 5 and 6 . Curve 702 corresponds to the curve drawn on the sagittal X-ray image of FIG. 5 and curve 704 corresponds to the curve drawn on the sagittal X-ray image of FIG. 6 . Curves 702 and 704 are obtained by quantifying the color of the curves 504 and 604 drawn on the sagittal X-ray images of FIGS. 5 and 6 , and finding differences in red, green, blue, intensity, hue, saturation, contrast, and brightness to identify the central sacral vertical line at every pixel. This image processing may result in thousands of data points to form curves 702 and 704.

FIG. 8A is an exemplary graph illustrating a three-dimensional model rotated to the sagittal view. The three-dimensional model includes a preoperative curve 802 and a postoperative curve 804. The sagittal view of FIG. 8A shows that the surgeon corrected the spine to put it in proper alignment. However, as shown in FIG. 8B, in which the three-dimensional model is rotated to the coronal view, the spine is out of balance. The postoperative curve 804 shows that the patient is leaning the patient's right. In embodiments, this information is useful in performing future spinal surgeries on the patient whose spine is illustrated in FIGS. 8A and 8B, or on other patients who have not yet undergone surgery. For example, the surgical device may be designed to counter the spine's movement to the right as shown in FIG. 8B.

FIG. 9 is an exemplary graph illustrating a three-dimensional model of a spine over a fourth dimension, e. g. time, from a preoperative state to a postoperative state at times 901, 903, 905, 907, 909, and FIG. 10 is an example graph illustrating a four-dimensional model of the movement of a head from a preoperative state to a postoperative state. As illustrated in FIGS. 9 and 10 , the curvature of the spine, during a postoperative period, is changing from coronal and sagittal balance to an imbalanced state. In some embodiments, these models of the curvature of the spine over time may be used to predict the change in curvature of a spine of a similarly-situated patient who is being prepared for spinal-alignment surgery.

For example, as shown in FIGS. 9 and 10 , the curvature of the spine that has undergone surgery is changing such that the position of the head is moving forward and to the right of a normal position of the head. If the patient of FIGS. 9 and 10 (“first patient”) has similar preoperative spine positions and medical conditions as a patient who has not yet undergone a similar spinal surgery (“second patient”), the system of the present disclosure may predict that the second patient's spine will change positions in a way similar to the spine of the first patient. If there are any differences between the first and second patients, those differences may be used to adjust the predicted change in positions of the second patient's spine.

The predicted change in the positions of the second patient's spine may then be used to determine the parameters, e.g., dimensions, angles, or configurations, of the surgical device to be deployed in the second patient so as to counter the changes in positions of the second patient's spine in a case where the predicted changes in the positions of the second patient's spine results in at least one of coronal imbalance or sagittal imbalance. Once the coordinates in X-Y-Z dimensions are obtained, the determined parameters of the surgical device may be translated into instructions or commands for a milling machine or a three-dimensional printer to manufacture or form the surgical device.

Alternatively or additionally, the predicted change in the positions of the second patient's spine may be used to adjust the parameters, e.g., dimensions or configurations, of one or more adjustable surgical devices, e.g., intervertebral devices used to achieve a desired curvature of the spine, that already have been deployed in the second patient's spine. Examples of adjustable surgical devices are described in U.S. Pat. Nos. 9,585,762, 9,393,130, 9,408,638, 9,572,601, and 9,566,163, and in Pub. Nos. WO 2017/027873, US 2016/0166396, US 2016/0317187, and US 2016/0022323, the contents of each of which are hereby incorporated by reference in their entireties. Alternatively or additionally, the predicted change in the positions of the second patient's spine may be used to determine and employ appropriate surgical procedures for deploying a surgical device in the second patient's spine.

FIG. 11 is a flow diagram illustrating a process for performing spinal surgery using a four-dimensional model in accordance with some embodiments. At block 1102, a computer obtains coronal X-ray images and sagittal X-ray images of the first spine captured at different times. In some embodiments, the X-ray images are captured at different times during a preoperative period and during a postoperative period.

At block 1104, lines or curves are drawn through vertebral bodies of the first spine shown in the coronal and sagittal X-ray images. Specifically, image processing is applied to the coronal and sagittal X-ray images to recognize vertebral bodies and to locate a center point within the vertebral bodies through which the lines or curves may be drawn. At block 1106, a four-dimensional model is constructed based on the curves or lines drawn through the vertebral bodies of the first spine in the coronal and sagittal X-ray images. The lines or curves may be drawn by, for example, superimposing pixels of a particular color on the coronal and sagittal X-ray images. Alternatively, the lines or curves are drawn by replacing existing pixels of the coronal and sagittal X-ray images with replacement pixels of a predetermined color, e.g., cyan or magenta. This process of drawing a virtual line or curve may be done according to image processes known to those skilled in the art. Note, any color and virtual line are used as visual aids to assist in generating the CVBL. The module 2201 only needs several selected points on the image to interpolate the actual X, Y, and Z coordinates of the CVBL.

At block 1108, a three-dimensional model of a second spine is analyzed in view of the four-dimensional model of the first spine to determine parameters of the surgical device for the second spine. In some embodiments, the three-dimensional model of the second spine is also analyzed in view of medical data pertaining to both the first and second spines. For example, if the first and second spines are the same or similar in a preoperative state, and the medical data pertaining to both the first and second spines are similar, a prediction can be made that the first spine will behave similarly to the second spine during a postoperative period. Thus, the surgical device applied to the first spine may be adjusted to avoid any alignment issues that arise in the second spine during the postoperative period.

At block 1110, surgical device is constructed and deployed in the second spine based on the predictions made at block 1108 and based on parameters of the spinal column dimensions and needed surgical device.

FIGS. 12A and 12B are flow diagrams illustrating a process for analyzing data from different patients and using that analysis to perform spinal surgery in accordance with some embodiments.

At block 1202, multiple four-dimensional models of spines corresponding to multiple postoperative patients are stored in a database. At block 1204, medical data corresponding to multiple postoperative patients is stored in a database as well. At block 1206, a three-dimensional model of the curvature of the spine and medical data of a target patient are obtained for analysis prior to a surgical procedure. At block 1208, the three-dimensional model of the target spine is compared to a four-dimensional model of the curvature of a spine of many postoperative patients and the medical data of the target patient is compared to the medical data of those post-operative patients. Then, at block 1210, a score may be generated based on the comparisons made between the models and between the medical data of the target patient and the postoperative patients.

For example, a higher score may be applied to a four-dimensional model that, in the preoperative state, most closely resembles the three-dimensional model of the target spine and the medical data of the target patient is closely related to the medical data of the postoperative patient. In embodiments, one score may be generated based on the comparison of the models and another score may be generated based on the comparison of the medical data.

At block 1212, the computer determines whether the score is greater than a predetermined score. If the score is greater than a predetermined score, the postoperative patient data is marked as being relevant patient data at block 1214. At block 1216, the computer determines whether comparisons have been completed for all postoperative patient data. If there is more post-op patient data, the process returns to step 1208 to compare models and medical data of the patients. If the comparisons have been completed, the four-dimensional models of marked postoperative patients are consolidated to create a consolidated four-dimensional model.

At block 1220, motion vectors are determined based on the consolidated four-dimensional model. At block 1222, motion vectors of the spine of the target patient are estimated based on the determined motion vectors. Then, at block 1224, dimensions of a spinal surgical device are determined based on the estimated motion vectors of the spine of the target patient and three-dimensional parameters of length, width, and height of patient anatomic data. At block 1226, machine-readable instructions for controlling a machine to construct the spinal surgical device are generated and are transmitted to the machine. In this manner, a surgical device may be constructed that accounts for estimated vectors to ensure that the target patient's spine maintains coronal and sagittal balance during the postoperative period. Alternatively, or in addition to, at block 1226, machine-readable instructions for controlling a machine to modify an existing spinal surgical device are generated and are transmitted to the machine, e.g. a machine designed to bend spinal rods beyond their current configuration.

In embodiments, the movement of the spine may be predicted using a model. In embodiments, the shape of a spine, whether it is normal or is deformed, can be defined by a mathematical equation. These equations can be modeled statistically using a spline or a non-linear regression.

For example, a normal spine is made up of two, connected, logistic ogives, which are also known as sigmoidal or S-shaped curves. The ogives may take the following form: Y=1/(1+e ^((β*(τ-X)))

The spline may be the easiest curve to fit and may provide useful information. The nonlinear regression provides more information, which, in certain applications, may be better.

Predictive analytics comes into play when the relevant medical data for a patient is known before the surgery. The relevant medical data may include the diagnosis, cobb angle, and/or Lenke classification. Then, a cohort of patients is found in a database that have the same or similar characteristic medical data.

For example, a new patient may be diagnosed with Adolescent Idiopathic Scoliosis (AIS) and a Lenke 1A curve. Before surgery, the relevant medical data for the new patient is known. In the database, there may be a number of old patients (e.g., 100 old patients) with AIS and Lenke 1A curves having the same or similar characteristic medical data. The medical data of the old patients in the database may include, among other medical data, the following:

-   -   The surgical approach (Posterior versus Anterior versus Lateral)     -   Levels fused, for example, T2 to T11, etc.     -   Type and size of hardware implanted (e.g., 5.5 mm rods, 6.5 mm         screws; Titanium, Stainless steel)     -   Operative time, blood loss, fluoroscope imaging time, ligaments         resected, etc.     -   Follow-up information, complications, Health Related Quality of         Life (HRQoL) scores

Some or all of this medical data (which may be represented as variables) may be combined together using Boolean logic (e.g., AND, OR, NOT) as predictors to the new patient and factored in as probability functions. Then, an outcome metric is determined or chosen. For example, if global balance (which means head-over-pelvis) AND posterior surgical approach AND thoraco-lumbar junction was crossed AND titanium hardware (screws and rods) were used NOT (pelvic tilt (this measure was irrelevant) OR blood loss (did not matter)), the probability of success of the surgery for the new patient may be 92.4%. But if the transverse ligament is cut on the concave side (intraoperative data), the probability of success of the surgery for the new patient may drop to 73.5%. In embodiments, some or all of the relevant medical data may be used to predict movement of the new patient's spine after surgery, which, in turn, may be used to determine the probability of success of the surgery performed on the new patient's spine.

According to another aspect, the disclosed system and techniques utilize statistical analysis in conjunction with more accurate models of patients' spines to determine the parameters of spinal devices. The system and process for developing a three-dimensional model comprising a set of spatial coordinates which can be plotted in three dimensions and which characterizes the shape of the spine, not by angles but by spatial coordinates Euclidean space, has been described with reference to FIGS. 1 through 12 herein. As such, the nature of the spinal model allows it to be compared with other axes of reference and the variance there between quantified. In disclosed embodiments, the variance may be a numerical value used to indicate how widely spinal curvature fluctuates around the axis of the patient representing the head over pelvis (HOP).

Referring to FIG. 13 , a line 1312, representing the curved shape of a three-dimensional spinal model created in accordance with the techniques described herein, is shown in relation to a vertical line 1314 representing a reference axis, which in this example is the Z axis serving as an idealized head over pelvis line. Points comprising line 1312 each have a distance d1, d2, d3 . . . dn from line 1314, as illustrated. Utilizing a sum of squares calculation representing a summation of the squared value of these distance from the reference axis, a numerical variance value and standard deviation for each of the sagittal and coronal planes may be calculated and a composite total variance and standard deviation of the spine relative to the reference axis may be determined.

In the total variance of the compensated image data with an patient's HOP reference axis, idealized or otherwise, may be defined in Equation 1 below: Total=VAR(X)+VAR(Y) where VAR (X) represents the variance in the sagittal plane as defined in Equation 2 below:

$\frac{{\Sigma_{i = 1}^{n}\left( {{HoP} - X} \right)}^{2}}{n - 1}$ and where VAR (Y) represents the variance in coronal plane as defined in Equation 3 below:

$\frac{{\Sigma_{i = 1}^{n}\left( {{HoP} - Y} \right)}^{2}}{n - 1}$ The Sample Variance may then be represented as defined in Equation 4 below: SS/(n−1)=Sample Variance where SS represents the summation of the squares and n represents the number of data samples, e.g., the number of lines in the X-ray image. The Sample Variance may then be represented as defined in Equation 5 below: √{square root over (SS/(n−1))}=Sample SD Sample values for the Sum of Squares, Variance, and Standard Deviation, which are not meant to be limiting are set for below: Sum Squares Sagittal—2,259,488 Coronal—11,114,040 Total—13,372,147 Variance Sagittal—3030 Coronal—616 Total—3656 Standard Deviation Sagittal—55 Coronal—25 Total—60.5 If the head of the patient is angled, as illustrated in image 1330 of FIG. 14 , the reference axis representing the HOP for a patient will not be line 1322, representing the Z-axis, but may be another axis such as line 1324, representing the actual HOP of the patient and which deviates at an angle from line 1332. In such instance, the variance may be further defined as in Equation 6 below:

$\frac{{\Sigma_{i = 1}^{n}\left( {{Mean} - X} \right)}^{2}}{n - 1}$

Utilizing the variance values as calculated and described herein enables practitioners to determine the extent to which a patient's spine deviates from a hypothesized reference axis and enables such variance value to be compared with other patient populaces to more easily determine if a procedure is either required or has been successful in comparison the prior patient populaces. Additionally, the variance value may be used as a predictive indicator of the pressure and force to which a spinal device, a such as a rod, may subjected and may be further used to suggest parameters for modification or manufacturing of the spinal device, so that the faces to be used in spinal models having greater variance may need to be modified, e.g. over bending of rods in anticipation of torqueing forces from the spine once implanted.

According to another aspect of the disclosure, systems and methods for rapid generation of simulations of a patient's spinal morphology enable pre-operative viewing of the patient's condition and to assist surgeons in determining the best corrective procedure and with any of the selection, augmentation or manufacture of spinal devices based on the patient specific simulated condition. The simulation is generated by morphing a generic spine model with a three-dimensional curve representation of the patient's spine derived from existing images of the patient's condition.

FIG. 15 is a block diagram illustrating an exemplary system architecture for rapid generation of simulations of a patient's spinal morphology. In embodiments, an X ray apparatus 12 provides X-ray images to a cloud server 16. The cloud server 16 may be secured in such a way that it complies with the privacy protection provisions of the Health Insurance Portability and Accountability Act of 1996 (HIPAA). In other embodiments, the X ray apparatus 12 provides X-ray images to a computer or a server that may better protect patient information than cloud server 16. The X ray apparatus 12 may be any X-ray apparatus that is configured to capture X ray images of the human skeleton. The system architecture 10 may also include a medical database 14 that transmits and stores medical data in the cloud computer or server 16. The medical database 14 may reside in a doctor's office or in a hospital and may contain a variety of medical data that is useful in determining the method of performing spinal surgery and the parameters of the spinal device that is used to correct the misalignment of the spine. This medical data may include all medical conditions that are or may be relevant to the spine, including, for example, osteoporosis, adolescent idiopathic scoliosis, adult scoliosis, neuromuscular disease, and degenerative disc disease. In embodiments, the medical data may include one or more of the following: patient demographics, progress notes, vital signs, medical histories, human clinical data, diagnoses, medications, Cobb Angle measurements, adverse events, operative complications, implant complications, operative time, blood loss, immunization dates, allergies, X-ray images, such as coronal and sagittal X-ray images, and lab and test results.

Cloud computer server 16 may store the X-ray images and medical data in a way to allow for easy access by computer 11 that has access to the cloud computer or server 16. Computer 11 using display 12 may display the X-ray images and the medical data to assist a clinician in planning for and performing a spinal surgery. The computer 11 may then analyze the X-ray images and the medical data to determine instructions for constructing a simulation of the spinal morphology of a patient's vertebral body for pre-operative visualization and to further simulate the predictive outcomes visually of multiple degrees of corrective surgery. The above described process is repeated for some or all of the other vertebral bodies in the spine, resulting in a three-dimensional simulation of the vertebral bodies in a patient spine, similar to that illustrated in FIG. 23B. During this process, the computer 11 may interact with a surgeon mobile device 15 or a patient mobile device 17 is illustrated.

FIG. 16 is a block diagram illustrating computer 2110 and system architecture 10 of FIG. 15 . Computer 2110 includes central processing unit 2200 and memory 2210. In some embodiments, a portion of the X-ray images stored in cloud server 16 are retrieved from the cloud server 16 by computer 2110 and stored in memory 2210. The X-ray images retrieved from cloud server 16 may include coronal X-ray images 2212 and sagittal X-ray images 2214 of one or more spines. Computer 2110, under the control of the central processing unit 2200, may also retrieve one or more electronic medical records 2218 and/or spine models 2216 from cloud server 16. Memory 2210 may also store statistical data representing normal spine model 2216 that is used to generate a three-dimensional simulation of a patient's morphology. Note that module 2216 may store multiple different spine models that may be separately selectable based on different parameters such as any of gender, age, height range, weight range, specific pathologies, and/or risk factors such as smoking and/or alcohol use, etc. Such models may be in the form of a point cloud or may be in a format, such as CT scan data, from which a point cloud model may be derived.

Components of the system of the present disclosure can be embodied as circuitry, programmable circuitry modules configured to execute applications such as software, communication apparatus applications, or as a combined system of both circuitry and software configured to be executed on programmable circuitry. Embodiments may include a machine-readable medium storing a set of instructions which cause at least one processor to perform the described methods. Machine-readable medium is generally defined as any storage medium which can be accessed by a machine to retrieve content or data. Examples of machine readable media include but are not limited to magneto-optical discs, read only memory (ROM), random access memory (RAM), erasable programmable read only memories (EPROMs), electronically erasable programmable read only memories (EEPROMs), solid state communication apparatuses (SSDs) or any other machine-readable device which is suitable for storing instructions to be executed by a machine such as a computer. According to embodiments of the present disclosure, the CPU 2200 executes a number of computational modules, each of which is programmed to perform specific algorithmic functions, including a curvature detection module 2215, a morphing module 2204, material analysis module 2206, a rendering module 2206, and a User Interface module 2207. The curvature detection module 2215 further comprises a CVBL generator 2201, point map module 2202 and orientation module 2203. Curvature detection module 2215 provides the primary input data for morphing module 2204 and material analysis module 2205. The morphing module 2204 morphs the three-dimensional simulated patient spine model into a preoperative condition, as explained herein yielding a three-dimensional simulated patient spine model, as illustrated in FIG. 23B. Material module 2205 enables altering the three-dimensional simulation by a predetermined amount or to the percent of correction from the surgeon input to enable preoperative visualization and/or prediction of the amount of correction required for a particular patient's spinal morphology. Rendering module 2206 visually creates an a virtual image to show the surgeon and/or patient the appearance of their spine, as simulated. The processes executed by CPU 2200 are described with reference to the flow diagrams of FIG. 17 and FIG. 18 below and as described elsewhere herein.

FIG. 17 is a flow diagram illustrating a process for generating a simulation of a patient's spinal morphology in accordance with some embodiments. After the coronal and sagittal X-ray images are obtained from a cloud computer or other similar database, the CVBL generator 2201 processes the sagittal and coronal X-ray data, calibrates the image data to establish a common frame of reference, and then creates a Central Vertebral Body Line (CVBL), as illustrated at block 1302. Through either receipt of manually selected data received through user interface module 2207 or an automatic image detection algorithm executing within CVBL generator 2201, a series of points identifying the center of the vertebral bodies in a sagittal plane image and a coronal plane image are identified and stored by the CVBL generator 2201 which then calculates curvature and generates a spline representing the central vertebral body line in three dimensions. FIGS. 19A and 19B are X-ray images in the sagittal and coronal planes of the lumbar spine, respectively, annotated with a visually detectable scaling reference. In the coronal plane X-ray image 1900 of FIG. 19B the vertebral body central points 1902, 1904, 1906, 1908, and 1910 along spline 1920 are overlaid on the virtual x-ray image and illustrate a portion of the data utilized to generate a central vertebral line for the subject. Any image files or data format may be utilized, including DICOM images, by the CVBL generator 2201. The coronal and sagittal X-ray images may be X-ray images of a spine and may be obtained prior to the surgical procedure. The X-ray images may also include images that were obtained both before and after a previous surgical procedure, e.g., a procedure performed on the spine.

Generation of the three-dimensional spinal simulation starts with either the creation or retrieval of a virtual model of each vertebral body in a set of vertebral body models and results in rendered vertebral bodies, as illustrated at block 1304. The curvature detection module 2215 and morphing module 2204 generate a three-dimensional simulation of a patient's spine morphology by morphing a normal spine model with a Central Vertebral Body Line representing an individual patient's spinal morphology to generate the three-dimensional simulation, as illustrated at block 1304, and as described herein. Next, the materials module 2205 enables the surgeon to input patient specific data which can be used to modify the three-dimensional simulation based on surgeon input of patient specific, as illustrated at block 1306. Rendering module 2206 and User Interface 2207 enable the three-dimensional simulation of the patient spine morphology, with or without further input from the surgeon, to be rendered in normal or Virtual-Reality/Augmented Reality (VR/AR) format, as illustrated at block 1308.

The disclosed system and techniques enable the morphing or alteration of a normal generic spine model into a three-dimensional simulation of the actual patient's deformity is derived from two-dimensional image data of the patient. Disclosed are a number of different techniques for accomplishing these results. The process starts with a model of the spine, including each of the vertebral bodies of interest. In one embodiment, each vertebral body model is in the form of a point cloud representation of the vertebral body, the point cloud comprising as a series of points in three-dimensional space. Point clouds can be generated from any of a number of sources. The described processes may be used with vertebral body models comprising point clouds that are either commercially available models, or generated from a patient's own CT scan data, X-ray data, or other image data. For example, a three-dimensional scanner can generate the point cloud model from a patient's own X-ray images. A patient's own CT scan data can be used to derive point cloud model(s), even though the CT scan data includes more data than necessary for a point cloud model. The relevant amount of data to generate a point cloud model may be identified and extracted from the CT scan data either manually or with an automated program. Effectively the reason for generating a simulation even though a full set of CT scan data is available is that, with the simulation, not only does the practitioner have a simulation of the current state of the patient's spinal morphology, but is able to selectively morph the simulation into possible post-operative configurations based on user defined percentages of correction, i.e. 10%, 15%, etc. using the system and techniques as disclosed herein.

FIG. 18 is a flow diagram illustrating in greater detail the process illustrated in block 1304 of FIG. 17 . The process starts with multiple surface scans of the coronal and sagittal X-rays of a subject that produce approximately 1000 points for each vertebral body which point map module 2202 uses to create a point map of a vertebral body, similar to the point cloud map shown in FIGS. 20A-B, as illustrated by block 1402. The images in FIGS. 20A-B are the point cloud 2220 for vertebral body L4, with the sagittal view shown in FIG. 20A and axial view shown in FIG. 20B. Morphing module 2204 uses a point cloud model for each vertebral body and can generate a simulation of a patient's morphology in a point cloud for the entire spine, similar to spinal point cloud model 2230 as illustrated in the image of FIG. 20C. All or a portion or none of the spine simulation may be rendered with surfaces as described elsewhere herein.

Each point in a point cloud map may be connected to two or more other points to generate a face with vectors associated with such points and faces. The vectors describe the direction and displacement of the points in the point cloud model comprising the virtual vertebral body model. In one embodiment, morphing of the point cloud model to simulate an individual patient's actual deformity requires modifying those vectors. In one implementation, morphing module 2204 performs a translation of all of the points in a vertebral body point cloud model. From the output of point map module 2202, the X, Y, Z spatial coordinates of a central point on each of the vertebral bodies form a centerline that collectively comprises a curve representation in three-dimensional space describing the deformity of an individual's spine in three dimensions. Morphing module 2204 utilized the spatial coordinates output of module 202 and translates all the points in a vertebral body point cloud model in a given direction as determined by the output of point map module 2202. As such, a spine model, as illustrated in FIGS. 21A-B, has the points comprising in the respective vertebral body models thereof translated spatially according to corresponding points on the CVBL to simulate the arrangement of center points of the vertebral bodies along the CVBL, as illustrated by the image of FIG. 21C. However, translation alone of spatial coordinates will not necessarily yield a realistic simulation. In FIG. 21C, the center line of each VB is in the correct location on the CVBL but notice that the vertebral bodies have slid off of one another, a.k.a. subluxation, that does not realistically simulate the proper orientation of adjacent vertebral bodies relative to each other. This is because normal spines have a glue between the vertebral bodies, i.e. the disc, which prevents such sliding. In a real spine, instead of subluxation, adjacent vertebral bodies are angled and/or rotated due to the deformity of a patient's particular morphology. To prevent the inaccuracies created by subluxation using just a translation operation, the disclosed system and technique simulate actual movement of the vertebral bodies in the spinal column by utilizing a combination of translation, angular displacement and angular rotation of the respective vertebral bodies to simulate a patient morphology.

In one implementation, orientation module 2203 automatically identifies each disc and the endplates of the adjacent VBs in an image. Given this information, the length and height of each VB structure is calculated in both the sagittal and coronal planes. FIGS. 22A and 22B are X-ray images in the coronal and sagittal planes, respectively, annotated with lines representing the discs and endplates of vertebral bodies. In one embodiment, the end plates of vertebral bodies may be annotated in different colors. In one embodiment, orientation module 2203 may generate a user interface that enables a user to manually mark the end plates of vertebral bodies on an image. Orientation module 2203 may then calculate measurements of various marked features and store the results thereof.

According to one embodiment, a first method for rapid generation of a simulated patient morphology is illustrated in the flowchart of FIG. 18 . In this method, the center of vertebral body S1 endplate is used as a reference pivot point by which each point in every point cloud model of a vertebral body is pivoted, translated, and rotated, and proportionally scaled, as necessary, relative to the reference pivot point. Referring to FIG. 18 , after at least two different images in different planes normal to each other are obtained, and the CVBL generator 2201 processes the image data, calibrates the image data to establish a common frame of reference, and creates a Central Vertebral Body Line, as previously described, a model, e.g. a point map, of each vertebral body in a set of normal vertebral body models is retrieved, as illustrated at block 1402. In embodiments, the vertebral body models may be a generic normal set of vertebral bodies unrelated to the specific patient or, alternatively, the vertebral body models may be derived from the patient's medical image data, such as from CT scan data, or a combination of both. Next, the end plates or edges of the vertebral bodies of interest on one or both images are identified through either manual input, received through a user interface generated by module 2207, or by an automated detection algorithm executable by orientation module 2203, as illustrated by the images in FIGS. 22A-B. Specifically, orientation module 2203 determines the slope and midpoint of the vertebral body endplates in each of the sagittal and coronal planes for each vertebral body and then calculates the angulation vectors in each of the sagittal and coronal planes, as illustrated at block 1404. The orientation module 2203 then calculates the translation and tilt angles to the center point of each of the vertebral bodies, e.g. cervical, thoracic, lumbar, sagittal, and coronal, and the angular rotation vectors, and then translate all the points in the corresponding vertebral body point cloud model relative to their original coordinates, as illustrated at block 1406. Next, the morphing module 2204 pivots the point cloud models around the center point of vertebral body S1, as illustrated at block 1408. Note, once the pivot point and the x,y,z coordinates of the points in a point cloud model are known, the point cloud model can be morphed in any order, e.g. translated, rotated, and then angled, or, angled, rotated, and then translated, or in other procedural orders, etc., with the same result.

Finally, the simulation may be rendered on a display by rendering module 2206 and UI interface VR/AR module 2207, as illustrated at block 1410. Optionally, if it is desirable to see the simulated vertebral body in a solid surface rendered manner, the simulation may be all partially rendered with surface features.

FIG. 23B is an image of a three-dimensional simulation 2300B of a morphed three-dimensional spine derived from the actual patient coronal X-ray of FIG. 23A using the systems and methods described herein. The above method can be used for any of the lumbar, thoracic and cervical spine simulations. For example, in the cervical spine, vertebral bodies C1 to T6 with the center of T6, the lowest vertebral body utilized, serving as the base pivot/translate point. Note, depending on which vertebral bodies are to be simulated, another point may be used as the base pivot/translate point about which the other point cloud models of vertebral bodies will be referenced. In simulation 2300B of FIG. 23B, vertebral bodies L3, L4 and L5 are morphed according to the morphology of the X-ray of FIG. 23A with L3 angulated and very close to touching L4 simulating the actual patient's morphology, as seen in the actual the X-ray of FIG. 23A. As mentioned above, the above described method can be used for any of Lumbar, Thoracic, or Cervical spine simulations.

FIG. 23C illustrates a simulation 23000, in which only translation of each vertebral body center point was utilized without angulation or rotation of the respective vertebral bodies relative to a reference point, such simulation suffering from the effects of subluxation, similar to the simulation 2120 of FIG. 21C. FIG. 23D is an image of simulation 2300B, similar to that illustrated of FIG. 23B, but annotated with a line 2340 representing the CVBL about which the point cloud models of the vertebral bodies were translated pivoted and/or rotated to create the simulation 2300B.

According to another embodiment, a second method for rapid generation of a simulated patient morphology is disclosed and is a variant to the process illustrated in the flowchart of FIG. 18 . In this second method, the left/right/front/back edge end points of each vertebral body of interest are identified by orientation module 2203 and a three-dimensional shape of each of the vertebral bodies is created. Because the shape, typically an irregular boxlike construct is defined by spatial coordinates, the dead center of each box may be determined, with the center point of a vertebral body box serving as a reference pivot point. Every other point in the point cloud model for that individual vertebral body may then be pivoted, angled, translated, and proportionally scaled relative to this reference pivot point, similar to the process described with respect to block 408. Because the data structure describing the three-dimensional shape or box of each of vertebral body inherently contains the respective spatial coordinates of the edges and corners of the box, rotation of the vertebral body relative to a reference point, such as the center point of vertebral body S1 or other reference point on the patient image, in the first described method, is not required.

In the two methods outlined above, the data determining how the point cloud model of a vertebral body will be rotated is determined differently. In the first method, the CVBL provides the translation data to move a vertebral body point cloud model to the correct spatial locations, and further provides the angulation data to tilt the vertebral body point cloud model so that its approximate center lies within the CVBL. In the first method, the reference point S1 is used to serve as the basis on which the rotation data, generated by measurement of the endplates and other characteristics of the vertebral bodies, is derived. Such rotation data is used to rotate the translated and tilted the vertebral body point cloud model into an orientation relative to the other VBs in a manner that more accurately simulates the patient's morphology. In the second method, the angulation data and the rotation data are determined by the center point of the vertebral body point cloud box which is initially assumed to lie on the CVBL, but, which after taking appropriate end plate and other measurements, may be determined to lie elsewhere. Once the center point of the vertebral body box is known, the appropriate translation scaling factors are used to tilt and appropriately rotate the points comprising the vertebral body point cloud model into appropriate orientation, without the need for an external reference point, such as S1, since the spatial coordinates describing the three-dimensional box of each of vertebral body inherently define the rotation of the VB relative to its respective center point.

In another embodiment, a third method is used for simulating spinal pathologies that are relatively simple deformities, such as Scheurmann's kyphosis, a Lenke 1A or a simple 5C. In this embodiment, all of the vectors associated with the point cloud of a VB are not calculated and morphed (translated, angled and rotated). Instead the central pivot point for each vertebral body, which happens to run through the CVBL, generated as previously described, is identified. Next, a number of pixels, e.g. 5, both above and below a pivot point on the CVBL are examined and the slope in both the sagittal and coronal planes calculated. In the illustrative embodiment, these 10 pixels are approximately 1 mm in length. The calculated angles are then applied to the point cloud model of a vertebral body and used to generate the image. This process is then repeated for each vertebral body of interest within the original images from which the simulation was derived.

With any of the simulation methods described herein, once a simulation is generated it may be stored in a data structure in memory. In one embodiment, morphing module 2204 generates two separate tables with the data describing the spacial coordinates and other information describing the simulation for not only the CVBL but also each point in the point cloud model of each of the vertebral bodies within the spine. Such data set can be provided to rendering module 2206 to recreate the three-dimensional reconstruction appears.

FIG. 24A illustrates a traditional three-dimensional reconstruction 2400A of the patient spine of FIG. 23A generated from CT scan data which required substantial computing resources to generate. FIG. 24B illustrates a morphed three-dimensional simulation 2402 of the patient spine image of FIG. 23A generated using the methods herein which were created in a matter of minutes. The three-dimensional simulation 2402 has been extended all the way up the spine with every vertebral body simulated and illustrated. Note, however, the vertebral bodies of simulation 2402 are smaller than the actual vertebral bodies in the CT scan reconstruction 2400 even though both recreations are in the same scale and in the same coordinate system. In order to add increased realism to the three-dimensional simulation 2402, the system described herein is capable of scaling the size of the individual vertebral bodies within the simulation 2402 by predetermined amounts or based on user defined input. Because each vertebral body in a simulation is modeled with a point cloud having a single, centrally located pivot point, such scaling entails expanding or contracting each vertebral body around the point cloud model central pivot point. Since the X, Y, Z coordinate of the central pivot point of a vertebral body is known and the three-dimensional distance to each of the points in the point cloud model of the vertebral body are also known, all points in the point cloud model associated with a vertebral body may be expanded (or contracted) with a proportional scaling factor. For example, to shrink a vertebral body in a simulation by 10%, the three-dimensional distance from the central pivot point of the vertebral body to a point in the vertebral body point cloud is multiplied by 0.9. To grow a vertebral body in a simulation by 25%, the three-dimensional distance as from the central pivot point of the vertebral body to a point in a vertebral body point cloud is multiplied by 1.25. Such scaling factor can be applied to any or all of the sagittal (x), coronal (y) or height (z) values of a vertebral body at once. All or selected vertebral bodies within a simulation can be scaled simultaneously. FIG. 24D illustrates a three-dimensional simulation 2404 of the patient's vertebral bodies which have been scaled in comparison to the unscaled simulation 2402 in FIG. 24B. Such scaling may be performed by an algorithmic process in rendering module 2206 in conjunction with module 2207 to enable interactive the scaling when the simulation image appears, e.g. the process queries through the user interface 2600, “Is this a good approximation?”. If the user's answer is “no”, the process may then receive user-defined input value, e.g. 12%, and then re-executes the proportional scaling of the simulation again as many times as necessary until the user is satisfied.

Within rendering module 2206 an algorithm creates a series of surfaces or faces among the points in the point cloud model describing a vertebral body, as illustrated by block 1404. Vectors normal to each point in the point cloud model and normal each polygon face are determined through a summation process relative to a hypothetical center point of the vertebral body, which hypothetical center point may lie within the Central Vertebral Body Line, and determine the orientation of the vertebral body in three dimensions, as illustrated in blocks 1408. This process is then repeated for all vertebral body models in the patient spine, in which the arrangement/morphing of each vertebral body, e.g. any of translation, angular displacement and angular rotation, may occur iteratively. A complete three-dimensional simulation based on just the point cloud models of all vertebral bodies may be completed iteratively, resulting in the simulation shown in FIG. 20C, prior to the three-dimensional simulation being, optionally, surface rendered, as indicated block 1410 to have the exterior surface appearance illustrated in FIG. 23B. FIG. 23B is an image of a morphed simulated three-dimensional spine derived from the actual patient coronal X-ray of FIG. 23A similar to that using the systems and techniques discussed herein. Such simulation of a patient spine may then be further morphed by the morphing module 2204 in response to a predetermined percentage of correction as specified by a surgeon through the material module 2205, as illustrated by block 1414, as explained elsewhere herein.

A portable spine application which may be part of the user interface module 2207 converts the three-dimensional simulation model rendered by module 2206 and converts the simulation into a virtual reality (VR)/augmented reality (AR) format, using any number of commercially available applications, which is then made available to the surgeon on his/her phone or other portable device 15, as well as the patient on their portable device 17. For example, given the three-dimensional simulation of the patient morphology, module 2207 may generate an VR/AR overlay in either the supine position while lying on the table, prepped for surgery to enable the surgeon to visualize the procedure in real time, or the final post-operative configuration. For patients with flexible spines, a standing X-ray looks nothing like the supine position. The disclosed system and techniques enables the morphing of the patient spine in two-dimensional and three-dimensional simulations and have simulation over-layed with surgeon vision using either Virtual or Augmented Reality.

In an illustrative embodiment, the curvature detection module 2215 processes sagittal and coronal X-rays, although any image files or data format may be utilized, including DICOM images. The CVBL generator 2201 calibrates the image data to establish a common frame of reference and then creates a Central Vertebral Body Line. Curvature detection module 2215 either acquires or calculates the following variable values:

Patient ID

Timeframe

highest vertebra X

highest vertebra Y

highest vertebra Z

Head over Pelvis Measures

X range

Y range

n rows

Mean X: Σ(X)/n

Mean Y: Σ(Y)/n

Σ|X|/n

Σ|Y|/n

SSx

SSy

variance X

variance Y

variance total

stdev X

stdev Y

lin dist HoP ideal

covariance (X,Y)

r(X,Y)

Angled Measures

/SSx/

/SSy/

/var X/

/var Y/

/var total/

/stdev X/

/stdev Y/

/covariance (X,Y)/

/r(X,Y)/

Particularly with Scoliosis patients, an important metric is Head-Over-the-Pelvis (HOP) measurement. The data generated by curvature detection module 2215 also forms the basis for other calculations including two nonlinear regression equations, (Sagittal vs Height and Coronal vs Height), r2 (coefficient of determination) point estimates, three-dimensional Plots, and three-dimensional measurements table.

In embodiments, the functionality of the curvature detection module 2215 may be partially implemented with a software application named Materialise 3Matic, commercially available from Materialise, Plymouth, Mich. that is intended for use for computer assisted design and manufacturing of medical exo- and endo-prostheses, patient specific medical and dental/orthodontic accessories and dental restorations. In embodiments, the functionality of the curvature detection module 2215 may be further partially implemented with a software application named Materialise Mimics, also commercially available from Materialise, Plymouth, Mich., which is an image processing system and preoperative software for simulating/evaluating surgical treatment options that uses images acquired from Computerized Tomography (CT) or Magnetic Resonance Imaging (MRI) scanners. The Materialise Mimics software is intended for use as a software interface and image segmentation system for the transfer of imaging information from a medical scanner such as a CT scanner or a Magnetic Resonance Imaging scanner to an output file.

According to another aspect of the disclosure, materials module 2205 enables the three-dimensional simulation of the patient specific morphology to predictively undergo preoperative mechanical testing. Material module 2205 is a preoperative planning tool that makes mechanical calculations and visually guides the surgeon through the process of choosing the correct hardware. Because curvature detection module 2215 generates a table or other data structure of three-dimensional spatial coordinates, e.g. X, Y, and Z, all of the equations of state in the fields of mechanical engineering, physics, mathematics and materials science are available, including the ability to determine and calculate stress/strain and fatigue in bone, or any implant materials, including CoCr, Ti-6Al-4V. When the positions of pedicle screws, rods, and interbodies are know, along with the materials from which such items are made, statistical analysis is possible enabling calculations like truss analysis, three and four point bend tests, and calculating the stress distribution at certain points.

In embodiments, materials module 2205 generates 2×24 array of data representing visual structures or icons of the posterior pedicles of the spine that are morphed with a patient's pre-op curve as generated by the curve detection module 2215 in a manner described herein. In one embodiment, the structures are geometric in shape. FIG. 26 is a screen shot of a user interface 2600 by which a surgeon enters various data through a series of either drop down menus or slider bars or dialog boxes to enter any patient specific parameters, including things like, location of pedicle screws, screw material, rod dimensions and materials, patient risk factors (smoker, drinker, BMI, etc.), age, height, curve stiffness, everything specific to that patient. These input data are then used in a series of appropriate algorithms within materials module 2205 perform the stress/strain calculations and rendering module 2206 generates a visual representation of the hardware with a color coding or other visual graphics indicating if acceptable levels of risk are associated with the designated hardware configuration The pedicle icons will then change to a simple red-yellow-green display indicating change (red), caution (yellow), acceptable (green). Other visual schemes it may be equivalently utilized. For example, if the patient is a 6′4″ sedentary, male smoker and the surgeon selects 5.5 mm PS at L4-S1, the pedicles change to red. If size is changed to 6.5 and the pedicles may change to yellow (it is know from the literature that 6.5 screws in the lower lumbar spine fail 30% of the time and 30% is too high.) If the entered data instead related to a 5′6″, 70 year old female, all mechanical calculations may be within in acceptable limits and the color indicators associated with each pedicle may change to green. An accumulated human clinical database may provide a level of detail to look at how patients' spines deform for every given morphology and enables the use of predictive analytics for outcomes, including any of 30 day hospital readmission, PJK, QoL scores, revision surgery, etc.

FIG. 25A illustrates conceptually the 2×24 pedicle model array 2500 of a patient spine morphed in three dimensions and rotated to show partial sagittal and coronal views in which the pedicle pairs 2502, 2504 and 2506, representing C1, C3 and C5, respectively, have been colored or designated with some other visual indicator. FIG. 25B is a sagittal X-ray of the patient from which the simulation was derived, in further consideration of the input parameters illustrated in the screen shot of the user interface 2600 generated by module 2207, as illustrated in FIG. 26 . In this embodiment, the visual representation of the anatomical structure, e.g. the posterior pedicles, may be any geometric shape or other visually discernible indicator, the purpose of which is to be arranged to simulate the approximate location thereof without the need for the exact details of the structure as described in the other processes disclosed herein.

Material module 2205 enables stress calculations, surgical pre-operative planning and predictive analytics. For the patient data utilized in FIGS. 9 and 10 , the patient's head weighs about 12 lbs and the head is 10.5″ out of top dead center, so the head adds an extra 122 in-lb of torque to the construct (Moment=Force×Distance, Moment=12 lbs×10.5″=122 in-lbs). With this information the surgeon may more accurately choose the appropriate hardware capable of postoperatively achieving the desired percentage of correction of the patient's specific morphology.

The disclosed system and techniques enables the ability to morph simulations of spines, both two-dimensional and three-dimensional, in any increment, e.g. 10% intervals, 5% intervals, 0.1% intervals. Knowing how much to move/morph the spine increases the predictive analytics capabilities and, therefore, the likelihood of success of a procedure. Because the disclosed system enables calculations in three-dimensional space, any of the previously listed variable parameters may be manipulated.

Skeletal System Morphing and Rendering

According to another aspect of the disclosure, any of the spine simulations generated using the techniques and methods described herein, such as those illustrated in FIGS. 23B, 23D, 24B and 24D, may be further augmented and rendered to include portions of the skeletal system connected, either directly or indirectly, to the spinal column as well as to add epidermal surface rendering, including skin and hair. A number of additional computational modules are added to the previously described system and processes which enable generation of such augmented simulations, as further defined herein.

FIG. 33A is a block diagram illustrating another embodiment of computer 2110. Computer 2110 includes many of the same data storage and computational elements, including central processing unit 2200 and memory 2210, as described with reference to the computer architecture of FIG. 16 . CPU 2200 of FIG. 33A also executes multiple computational modules, each of which is programmed to perform specific functions, including a curvature detection module 2215, a morphing module 2204, material analysis module 2206, a rendering module 2206, and a User Interface module 2207, as previously described. In addition, CPU 2200 of FIG. 33A executes a number of other computational modules, each of which is programmed to perform specific algorithmic functions, including skeletal linking module 2208, skeletal orientation module 2209, and skeletal generation module 2211. Notwithstanding any indications in FIG. 33A of directional communication paths, such paths may also be implemented bi-directionally between the various illustrated computing elements, as necessary to achieve the functionality described herein.

FIG. 33B illustrates conceptually the functional organization of a system 3300 which, in one embodiment, comprises a primary morphing processor unit 3302 and a secondary morphing processor unit 3304 as well as other modules, for generating a simulation of a patient's spinal morphology and additional skeletal elements. Primary morphing processor 3302 comprises the physical and/or virtual entities responsible for generating a simulation of a patient's specific spinal morphology including curvature detection module 2215 and its sub-modules CVBL generator 2201, point map module 2202, and orientation module 2203 as well as morphing module 2204, and selected functionality of user interface module 2207, as applicable. The structure and functionality of the constituent modules of primary morphing processor 3302 has been described with reference to computer 2110 of FIG. 16 and the flow charts of FIGS. 17 and 18 , and elsewhere herein, including the techniques by which the CVBL generator 2201 processes the sagittal and coronal X-ray data to generate a Central Vertebral Body Line (CVBL) which is then used by orientation module 2203 to generate angle, displacement scale and rotation data which morphing module 2204 uses to then translate, angle scale and rotate the individual point cloud models iteratively for each vertebral body in the spinal column to generate a simulation of a patient's spinal morphology, with an exception. Following generation of the CVBL by module 2201, the clinician may, using user interface module 2207, optionally manually adjust one or more respective values of the CVBL, typically at either the edges or center points of a particular vertebral body, by manually selecting a specific data point and submitting it to CVBL generator 2201 through the user interface presented by module 2207. Additionally, the clinician may optionally adjust center points of the skull, pelvis, or any other anatomical structures through the user interface presented by module 2207.

Secondary morphing processor 3304 comprises the physical and/or virtual entities responsible for generating a simulation of a patient's additional skeletal elements, and the effects the patient's spinal morphology has on such skeletal elements, as described below with reference to FIGS. 33B-C. Secondary morphing processor 3304 enables the system 3300 to generate at least two different combined spine and skeletal simulations. The first, as illustrated in FIGS. 35 and 36 , includes a simulation of a patient's spinal morphology and additional skeletal elements rendered with solid surface bones. Note, such simulations could also be rendered in point cloud format as well. The second simulation, as illustrated in FIG. 37 , includes a simulated exterior, including epidermis and hair, which has been rendered to illustrate the effects the patient's spinal morphology has on the skeletal system, particularly the upper torso and extremities which define the patient's posture.

The process by which secondary morphing processor 3304, in conjunction with primary morphing processor unit 3302, generates augmented simulations, such as simulations 3530 600 of FIGS. 35 and 36 , respectively, is illustrated in flow diagram of FIG. 33C. To begin, a model of a normal human skeleton 2700 comprising a plurality of point cloud models for different skeletal entities is stored in memory 2210, as illustrated by block 3320 of FIG. 33C. In addition to the point cloud models, each skeletal entity may further comprise information useful in rendering solid surface images of the skeletal entity, including data describing vertices and faces along the exterior surface of the point cloud model and vectors normal to such surfaces, such data used by rendering module 2206 and/or skeletal generation module 2011 for graphically rendering solid surfaces of the skeletal entity.

Skeletal linking module 2208 functions to organize the various parts of human skeleton 2216 stored in memory into separate skeletal entities or groups of skeletal entities and to coordinate their respective interactions and any constraints related to such interactions. More specifically, skeletal linking module 2208 is programmed and designed to organize and link into separate data structures or groups the various component point cloud models including all twenty four Vertebral Bodies, C1-L5, Left Arm, Right Arm, Left Leg, Right Leg, Skull, Pelvis, and Upper Body, as illustrated by block 3322. Within these groupings further subgrouping may be implemented as follows:

-   -   C1-C7 and L1-L5 VB     -   All thoracic vertebral bodies include the left and right ribs at         their respective level     -   Upper Body includes the clavicle (collar bone) both L/R Scapula         (shoulder blades) and the sternum     -   L/R Legs each include femur, tibia, fibula and foot     -   L/R Arms include the Humerus, Radius, Ulna and hand     -   Skull as a stand alone object

The above groupings are illustrated as point cloud models in FIGS. 27A-B, in which FIG. 27 is a sagittal view of a human skeleton point cloud model 2700 while FIG. 27B is the coronal view of the human skeleton point cloud model 2700, with different shading indicating the various different bone groupings. Skeletal linking module 2208 further extracts from the point cloud model of each skeletal entity, the three-dimensional spatial coordinate identifying the center point of the point cloud model and one or more coupling points, as applicable, indicating points of attachment between the skeletal entity and another skeletal entity, e.g. the skull to the cervical spine, the hips to the pelvis, etc., as illustrated by block 3322. Skeletal linking module 2208 may maintain data in a table of spatial coordinates and tags identifying the skeletal entity to which the data relate. In one embodiment, skeletal linking module 2208 may maintain a data structure, similar to that illustrated in FIG. 33D, for each individual skeletal entity or groups of skeletal entities as a series of tables or in the form of a relational database. More detailed the point cloud models of selected skeletal entities are illustrated in FIGS. 28-32 .

FIG. 28 is an image of a point cloud model 2800 of a human skull in the coronal plane annotated with a center point 2802. FIG. 29 an image of a combined point cloud model group 2900 comprising vertebral body (T7) 29202 annotated with a center point 2908 with attached ribs 2904 and 2906 in the axial plane. FIG. 30 is an image of a combined point cloud model group 3000 of a human upper body, including the clavicles 3006 and 3008, scapulas 3010 and 3012, Sternum 3014, Manubrium 3016 and Xiphoid process 3018 in the coronal plane annotated with a humorous head coupling points 3002 and 3004. FIG. 31 is an image of a point cloud model 3100 of vertebral body (C1) in the axial plane annotated with a point 3102. FIG. 32 is an image of a point cloud model 3200 of vertebral body (L1) in the coronal plane annotated with a point 3202.

Selected skeletal entities further have associated therewith information defining what limits, if any, constrain the ability of the entity, and its corresponding point cloud model, to be angulated, rotated or translated relative to any other skeletal entity to which it is coupled or grouped or adjacent thereto, as applicable, for example, the ribs associated with a vertebral body rotate less then the respective vertebral body to which they are attached. Also, other entities such as the skull, pelvis, clavicle, scapula and extremities, have specific may have angulation and rotation constraints, related to the effect of gravity on posture. In one embodiment, skeletal linking module 2208 accesses, in an iterative process, one skeletal entity at a time, all information relating to the human a skeletal entity and its respective organization, including groupings, subgroupings, linking data, constraints and rendering data, and stores such information as part of spine model 2700 in memory 2210, as also illustrated at block 3322. At this point, effectively the human skeleton model and all of the data linking its various components is stored in memory 2210 and is ready to be modified accordingly.

FIG. 33E is a conceptual illustration of a data structure 3380 containing information about a skeletal entity or group of skeletal entities useful for generating the simulations described herein. Such data structure may be implemented from the table or a record in a relational database and is compiled and maintained by skeletal linking module 2208. In embodiments, skeletal linking module 2208 may crawl through a premade point cloud model, such as model 2700 illustrated in FIG. 20 7A-B and establish various organizational groupings and linking's based on a number of predetermined rules programmed into module 2208. In other embodiments, such information may be all or partially predefined within a special-purpose pre-existing model of the human body, typically created annually by the author of the model. In such instance, skeletal linking module 2208 may in addition to extracting predetermined information from the model 2700 and storing it in the appropriate record for that skeletal entity may also populate the record with special-purpose information, including one or more restraints associated with the skeletal entity which are not part of the original model.

As illustrated in FIG. 33E, a plurality of data structures 3380 a-n are illustrated. Each data structure comprises an identifier field 3382 which identifies the skeletal entity and/or any group of skeletal entities to which the skeletal entity belongs in model 2700. A linking field 3384 identifies the address in memory of the point cloud model of the identified skeletal entity. A special coordinate field 3386 identifies specific spatial coordinates within the associated point cloud model linked to by field 3384 which may include any of a center point, pivot point, or any points of fixed or movable attachment of the skeletal entity to other skeletal entities within the model 2700. Special conditions field 3388 contains information describing any constraints associated with the identified skeletal entity including values for limits on angulation, rotation, translation, scaling and/or translation as well as possibly formulas to compute any of the foregoing such special conditions constraints may also include null values in the absence of any constraints or do not care conditions. Linking field 3390 includes the identifiers of those skeletal entities which are immediately adjacent to or directly connected to the subject skeletal entity. Finally, field 3392 includes data useful for rendering the skeletal entity whether in point cloud format or solid surface format including any data describing model vertices, face tables and vectors normal to the surface faces, luminance and chrominance values to facilitate rendering of the skeletal entity. Other data fields may likewise be included in data structures 3388 a-n.

Referring again to FIG. 33B, a Central Vertebral Line describing the curvature model of the patient's spinal morphology in three-dimensional space has been generated by the primary morphing processor unit 3302. Again, at this point, the clinician may, using user interface module 2207, manually adjust one or more respective values of the Central Vertebral Body Line, or any of the center points of the skull, pelvis, or any other anatomical structures through the user interface presented by module 2207.

Next, the skeletal orientation module 2209 retrieves the coordinate data, rotation and angulation data of the CVBL, and, in conjunction with morphing module 2204, uses such data to simulate, e.g. morph, the components of the spinal column to mimic the patient's spinal morphology with the net effect of “deforming” the spinal column and the related skeletal entities (Pelvis, sacrum, all vertebrae, and ribs), as illustrated by block 3328. Such morphing is achieved through a series of operations, by morphing module 2204, including translation, angulation, rotation and/or scaling of the spatial coordinates representing the vertebral bodies in the spine, as described previously herein. In one embodiment, the order of operations may be as follows: 1) translation of vertebral bodies according to calculated shifts from measurements, 2) angulation of vertebral bodies according to measured angles, 3) scaling to match actual patient dimensions. These processed values are stored in the template data table as formula columns. The actual order of angulation/translating/rotating is commutative as each of these operations are accounted for separately vertebral, since bodies are relocated to a local axis before scaling and rotating and not all bodies are rotated. An optional femoral head and sacral endplate selector algorithm executed by skeletal orientation module 2211 may used to obtain Sagittal plane measurements in order to apply that same physiology to the pelvis and sacrum, if desired.

In one embodiment, rotations of vertebral bodies are performed by skeletal orientation module 2211 by functional groups including C1-C7, Thor 1-Thor 12 (each thoracic vertebra and two associated ribs), and L1-L5, as well as the sacrum/pelvis which move as a rigid body, as illustrated by block 3328. Once the morphing of the spatial coordinates describing the simulation of the patient's morphology is done, the spatial coordinates and angulation data is stored in memory 2210, as also illustrated by block 3328. In one embodiment, such data may be stored in an angulation matrix and a center point matrix. Those anatomical structures which are not part of the spinal column, such as, clavicle, scapula, extremities, etc., may have their own rules or constraints which define how they are morphed relative to adjacent anatomical structures as well as to the primary vertebral bodies comprising the spinal column. For example, rib angulations are derived from the vertebrae rotation. The rib rotations are slightly tempered to reflect the fact that the ribs are constrained by each other anatomically and don't strictly rotate to the same degree or the exact at the exact angle of the corresponding vertebra to which they are attached. For example, the axial rotation of the vertebra is related to the axial rotation of the ribcage according to the Stokes (IAF Stokes, J Orthopedic Res, Vol 7, pg 702, 1989) which discloses axial rotation values. In one embodiment, the vertebrae, sacrum and pelvis, and ribs are retrieved as a matrix of spatial coordinate information by skeletal orientation module 2211, and then morphed or deformed in the following order: 1) angulated, 2) scaled, 3) translated, as illustrated by block 3328. The ribs may be scaled and translated identically to the vertebrae, but not angulated, as the rib angulations are different and derived from the Stokes equations.

Next, the head/skull is constrained using an offset value from vertebral body C1 which may represent any of an angulation value, translation value or rotation value depending on the actual constraint condition. The shoulder girdle may be constrained according to markers placed on the posterior of the ribs (placing the shoulder blades) and the anterior ribs (matching the sternum). Alternatively, a simple translation/scaling/rotation utilizing the values of the 3rd rib may be done for the anterior ribs. The shoulder girdle is scaled, translated, and rotated according to the Thor 3 functional group and the upper body functional group, including the clavicles, sternum, and scapulae.

The humeral head tags may be used to translate the upper limb functional group accordingly and individually, so that the humerus from each upper body functional group will match the shoulder socket to which it corresponds. Next, markers of the humeral sockets which have been grouped with the thoracic functional group (Thor 3), e.g., the humerus and entire upper extremity, are scaled and translated so that the humeral socket and femoral head “tags” match. In one embodiment, each anatomy has a major tag and in some cases a minor tag. Major tags rotate and translate the entire anatomical object, while minor tags rotate, translate, and are scaled with all the other points comprising the object and then act as markers to indicate where another anatomical objects attach. The femoral heads are placed according to the femoral socket tags. All of the preceding morphing of the skeletal entities performed by skeletal orientation module 2211 are indicated in the flowchart FIG. 33C, as block 3330.

Next, expressions programmed into skeleton generator module 2011 pull values from each corresponding formula column and populate a subset table according to the label. The skeleton can then be graphed from this assembled subset by skeleton generator module 2011, as illustrated by block 3332.

In addition, skeletal generation module 2011 may further store global values relating to luminance and chrominance for various lighting and shading effects when rendering the final simulation of the subject's spinal morphology and its effect on the remainder of the patient's skeletal system. Rendering module 2206, skeletal generation module 2211 and User Interface 2207 enable the three-dimensional simulation of the patient's spine morphology, with or without further input from the surgeon, to be visually rendered in normal or Virtual-Reality/Augmented Reality (VR/AR) format, as illustrated at block 3332.

The secondary morphing processor 3304 including skeletal segmentation module 2208, skeletal orientation module 2209, and skeletal generation module 2211, in conjunction with the rendering module 2206 and interface module 2207, may also create a visual image of the three-dimensional simulation that illustrates how the patient may look either before or after surgery that may include an outline of the skin (shoulder imbalance, rib hump, thoracic kyphosis, etc.), similar to simulation 3700 of the FIG. 37 . Note, such simulations may illustrate the human figure in a pre-operative posture and may be then further morphed, iteratively, to simulate optimal or predicted postoperative posture.

Skeletal generation module 2211 generates the actual outline of the human being, as illustrated in FIGS. 34A and 34B, which comprises a relatively simple point cloud model 3400 of a human being comprising a series of ‘loops’ 3402 that run circumferentially around portions of the human body, including the following constituent parts:

-   -   Upper Body—arms     -   Trunk, shoulders to mid thorax     -   Sacrum a single pivot point     -   Right and Left Arms each is a pivot point     -   Head including the face     -   Hair     -   C1 is a pivot point and     -   17 pivot points that correspond to the 17 loops that make up the         main torso.         Note, model 3400 also includes a plurality of points 3404         corresponding to pivot points in the model 3400.

FIG. 33D is a conceptual flow diagram illustrating a process for generating a simulation of a patient's overall posture including the spinal morphology. To begin, skeletal generation module 2211 retrieves the data table of three-dimensional spatial coordinates comprising the CVBL representing patient's spinal morphology as generated by CVBL generator module 2201 as well as template files for vertices, normal vectors for lighting, faces table reference, as illustrated by block 3350. Next, default values are defined, including the length of a template ‘default spine’, as illustrated by block 3352. The ‘default spine’ may be implemented as a data table of three-dimensional spatial coordinates representing the center points of the vertebral bodies comprising a normal spine associated with the human model. In embodiments, the torso of the model 3700 is divided into a plurality of sections, each section having its own pivot point located on the default spine template. When the pivot points of the default spine template are replaced with a corresponding value on the three-dimensional morphed spine generated by the primary morphing processor 3302, the associated section is translated and rotated accordingly, with the result being that the human model's torso moves as if the spine was internally deforming. To facilitate such morphing, segmented rotation, angulation, and translation, the human model 3700 may have points identified on the default spine and the various associated point cloud models about which rotation will occur. In the point cloud models of FIGS. 28-32 , such pivot points may be visualized graphically, e.g. by black diamonds, and may be identified using a script or algorithm that traverses the manually placed spine and picks each point on the spine about which rotation of the section will occur. Alternatively, such annotations may be done manually.

Next, the length of the three-dimensional morphed spine is calculated. Next, the default spine template is scaled so that the length of the default spine matches the length of the three-dimensional morphed spine derived from the patient, as illustrated by block 3354. In the illustrated embodiment, there are seventeen slices and therefore seventeen pivot points in the point cloud model 3400 along the spinal column region. Skeletal generation module 2211 matches each pivot points to a corresponding point on the previously generated morphed spine by length proportions. To match analogous vertebral bodies, the length of the vertebral body is superior to vertebral body height in this regard.

Next, the simulated skeletal model 3700 is morphed to reflect the particular the patient's spinal pathology by skeletal orientation module 2209. From each of vertebral body in the morphed spine, an offset and an angulation value is previously calculated or may be rederived from manually corrected coordinates using one of the techniques described herein, as illustrated by block 3356. Each segment of the scaled default spine template is then rotated and offset according to the offsets and rotations of the morphed spine, as illustrated by block 3358. Next, the upper limbs and head are translated and constrained according to indicator points that move with the rotation segments, as illustrated by block 3360. At this point, multiple segments of the default spine template have been translated, angulated and rotated to mimic the morphed spine generated by the secondary morphing processor 3302. Finally, using the template files for vertices, normal vectors for lighting, and faces table reference, skeletal generation module 2211 generates from simplified point cloud models 3400, a morphed skeletal model is generated including surface textures as illustrated by block 3362.

Note, the lower body, e.g. the portion of the skeleton below the pelvis, may be scaled by a predetermined amount or by a similar scaling factor by which the default spine template was modified, but the lower body is not moved, since it is located at the origin. The resulting simulated skeletal model 3700, as illustrated in FIG. 37 , illustrates how the patient's spinal morphology effects the upper body portion of the skeletal system and may include the outline of skin as well as hair.

Rendering module 2206 in conjunction with Surface rendering module 2209 and user interface module 2207 performs a solid surface rendering of the morphed skeletal model simulating the morphology of the patient, as illustrated in FIGS. 35A, 36A, 37, 38 and 39 . FIG. 35A is a composite image of the sagittal view of the morphed virtual skeleton 3500 superimposed over the sagittal x-ray from which it was partially derived. FIG. 36A is a composite image of the coronal view of the morphed virtual skeleton 3600 superimposed over the coronal x-ray from which it was partially derived. FIG. 37 is a perspective view of a virtual human model simulation 3700, including skin and hair, derived from and exhibiting the effects of the spinal morphology shown in the subject x-ray images of FIGS. 35B and 36B. FIG. 38 is a coronal view of a virtual human skeleton simulation 3800, including the rib cage, derived from, and exhibiting effects of the spinal morphology shown in, the subject x-ray images of FIGS. 35B and 36B. FIG. 39 is a coronal view of a virtual human skeleton simulation 3900, without the rib cage, derived from, and exhibiting effects of the spinal morphology shown in, the subject x-ray images of FIGS. 35B and 36B. Different lighting and shading of the skeletal model may also be utilized in the rendering of the skeletal model to enhance realism. As illustrated in FIGS. 38 and 39 , all or selected of the non-spinal skeletal entities may be simulated and rendered along with the simulation of the subject's spinal morphology.

Although the illustrative embodiments utilize X-ray images, other image formats may be utilized with the disclosed system and techniques. In embodiments, the disclosed system and techniques may be used with DICOM data. Digital Imaging and Communications in Medicine (DICOM) is a standard for storing and transmitting medical images enabling the integration of medical imaging devices such as scanners, servers, workstations, printers, network hardware, and picture archiving and communication systems (PACS) from multiple manufacturers. DICOM images, including CT scans and MRI images, are typically three-dimensional and, using the techniques described herein, enable physics and mathematics to be applied to the modeled entities to gain more realistic models and simulations of the spine. Metrics such as areas, volumes, moment of Inertia for cubes, prisms, cylinders, and even internal organs may be calculable.

In an illustrative implementation, using only typical Sagittal and Coronal X-rays with the system and techniques described herein, a simulation of the patient specific (deformed) spine was created in three-dimensional in less than 1.5 minutes. The disclosed system and techniques can show the surgeon and patient a simulation of what the spine currently looks like and what it may look like after surgery.

While several embodiments of the disclosure have been shown in the drawings, it is not intended that the disclosure be limited thereto, as it is intended that the disclosure be as broad in scope as the art will allow and that the specification be read likewise. Any combination of the above embodiments is also envisioned and is within the scope of the appended claims. Therefore, the above description should not be construed as limiting, but merely as exemplifications of particular embodiments. Those skilled in the art will envision other modifications within the scope and spirit of the claims appended hereto. While the illustrative embodiments disclosed herein have been described primarily with reference to the bony vertebral bodies within the spine, it should be understood that the disc structures between the bony vertebral bodies within the spine may also be modeled and morphed in a manner similar to that describes herein. In addition, other structures within the skeleton system such as shoulders, ribs, arms, hand, leg, or foot, etc., as well as other non-bony structures within the anatomy of a subject, may similarly be modeled and morphed utilizing the system and techniques disclosed herein. 

What is claimed is:
 1. A system for creating a visual simulation of a subject's condition, the system comprising: one or more storage devices storing virtual models; and one or more processors in communication with the one or more storage devices, the one or more processors configured to: determine a set of points on each of a plurality of anatomical structures visible in an image; generate, from the set of points, a representation of an arrangement of the anatomical structures in the image, the representation comprising a set of three dimensional spatial coordinates including the points in the set of points for each of the plurality of anatomical structures in the image; retrieve, from the one or more storage devices, a first virtual model and a second virtual model from the virtual models, the first virtual model having corresponding anatomical structures to the anatomical structures in the image; morph parameters of the first virtual model into a spatial arrangement that substantially mimics the representation in the images; and morph parameters of the second virtual model into spatial arrangement with the first virtual model.
 2. The system of claim 1, wherein the second virtual model is not translated, rotated, or angulated to the same extent as the first virtual model to achieve the spatial arrangement.
 3. The system of claim 1, wherein the second virtual model corresponds to a vertebral body which is not part of a spinal column.
 4. The system of claim 3, wherein the first virtual model corresponds to a vertebral body in a spinal column.
 5. The system of claim 1, wherein morphing parameters of the second virtual model includes pivoting a center point of the second virtual model by an amount of identified angular displacement which is different than an amount of angular displacement by which the first virtual model is pivoted during morphing into the spatial arrangement that substantially mimics the representation in the image.
 6. The system of claim 1 further comprising: a graphics processor unit, the graphics processor unit configured to output for display the first and second virtual models in a manner which mimics the plurality of anatomical structures visible in the image.
 7. A method for creating a visual simulation of a subject's condition, the method comprising: determining, by one or more processors, a set of points on each of a plurality of anatomical structures visible in an image; generating, by the one or more processors and from the set of points, a representation of an arrangement of the anatomical structures in the image, the representation comprising a set of three dimensional spatial coordinates including the points in the set of points for each of the plurality of anatomical structures in the image; receiving, by the one or more processors, a first virtual model and a second virtual model, the first virtual model having corresponding anatomical structures to the anatomical structures in the image; morphing parameters of the first virtual model into a spatial arrangement that substantially mimics the representation in the image; and morphing parameters of the second virtual model into spatial arrangement with the first virtual model.
 8. The method of claim 7, wherein the second virtual model is not translated, rotated, or angulated to the same extent as the first virtual model to achieve the spatial arrangement.
 9. The method of claim 7, wherein the second virtual model corresponds to a vertebral body which is not part of a spinal column.
 10. The method of claim 9, wherein the first virtual model corresponds to a vertebral body in a spinal column.
 11. The method of claim 7, wherein morphing parameters of the second virtual model includes pivoting a center point of the second virtual model by an amount of identified angular displacement which is different than an amount of angular displacement by which the first virtual model is pivoted during morphing into the spatial arrangement that substantially mimics the representation in the image.
 12. The method of claim 7, further comprising: outputting for display the first and second virtual models in a manner which mimics the plurality of anatomical structures visible in the image.
 13. A non-transitory computer-readable medium storing instructions, that when executed by one or more computing devices, causes the one or more computing devices to perform operations comprising: determining a set of points on each of a plurality of anatomical structures visible in an image; generating, from the set of points, a representation of an arrangement of the anatomical structures in the image, the representation comprising a set of three dimensional spatial coordinates including the points in the set of points for each of the plurality of anatomical structures in the image; receiving a first virtual model and a second virtual model, the first virtual model having corresponding anatomical structures to the anatomical structures in the image; morphing parameters of the first virtual model into a spatial arrangement that substantially mimics the representation in the images; and morphing parameters of the second virtual model into spatial arrangement with the first virtual model.
 14. The computer-readable medium of claim 13, wherein the second virtual model is not translated, rotated, or angulated to the same extent as the first virtual model to achieve the spatial arrangement.
 15. The computer-readable medium of claim 13, wherein the second virtual model corresponds to a vertebral body which is not part of a spinal column.
 16. The computer-readable medium of claim 15, wherein the first virtual model corresponds to a vertebral body in a spinal column.
 17. The computer-readable medium of claim 13, wherein the operations further include: outputting for display the first and second virtual models in a manner which mimics the plurality of anatomical structures visible in the image. 